专利名称:一种节点协同方法及装置的利记博彩app
技术领域:
本发明涉及移动通信领域,特别是涉及一种节点协同方法及装置。
背景技术:
无线传感网络,是一种由大量传感器节点以无线通信的方式,自组织形成的多跳无线通信网络。无线传感网络具有低功耗、低成本、分布式和自组织等特征,在军事、环境检测、医疗与智能家居等方面获得广泛应用。为实现环境信息的精密感知和保证节点能量的有效性,节点间的协同感知和数据传输已成为传感网络研究的热点问题之一。现有无线传感网络中各节点之间需要交换大量的协议控制数据,从而实现节点间协同。现有技术一般采用信标使能模式,具体为子节点与父节点进行关联,关联成功时子节点收到父节点发送的信标帧,并与父节点同步,因此在多跳的规模比较大的网络中,需要大量的信标帧实现节点的协同,以便于完成数据传输,造成能量浪费。并且由于信标帧的发送是不经过竞争机制的,所以当父节点在传送各自的信标帧时,在一个时间段内会有大量的信标帧同时传输,则彼此之间会发生碰撞,一旦发生碰撞,父节点就需要重新发送信标帧,增加了信标帧的重传次数,从而引起更多能量的浪费。当子节点向父节点发送数据包时,数据包在传输过程中往往要经过多个节点转发数据包,此时,子节点和转发节点通信范围内的非转发节点也会侦听到数据包,将此现象称为串音。在发生串音时,由于非转发节点也会侦听数据包,因此也造成了能量浪费。特别是,当大量子节点具有相同的唤醒/睡眠占空比,并且唤醒/睡眠频率为所有子节点中最高频率时,那么在数据包转发过程中就会产生过度侦听,而由于过度侦听引起的串音问题将会更加严重,并引起更多能量浪费,降低了能量的有效性。
发明内容
为了解决上述问题,本发明目的在于提供一种感知节点协同方法及装置,减少能量浪费,提高能量有效利用率,使得整个感知网络性能更加优异。一种节点协同方法,包括子节点与父节点进行关联;子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期,父节点的唤醒时间长度;当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度;如果是,则直接向父节点发送数据包;否则,缓存数据包,在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,直接向父节点发送缓存的数据包;接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达。一种节点协同装置,包括关联模块,用于子节点与父节点进行关联;获取模块,用于子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期和父节点的唤醒时间长度;计算模块,用于当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;判断模块,用于判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度;发送模块,用于所述判断模块的判断结果为是时,直接向父节点发送数据包;缓存模块,用于所述判断模块的判断结果为否时,缓存数据包在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,以便发送模块直接向父节点发送缓存的数据包;接收模块,用于接收父节点在接收到数据包发送的确认数据帧,等待发送下一个数据的时刻到达。本发明提供的一种节点协同方法及装置,通过在子节点加入网络时,按照路由策略搜索父节点并与其进行关联,父节点收到关联请求后向子节点发送关联响应,并在关联响应中加入父节点周期、唤醒时间长度和下一个自然唤醒周期起始时刻的信息,以便子节点根据所述信息进行同步数据传输,本发明采用下行的确认帧进行信息交互,以少量的协议控制帧实现了节点间协同大大提高了能量效率与网络可靠性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一揭示的一种节点协同方法的方法流程图;图2为本发明实施例二揭示的另一种节点协同方法的方法流程图;图3为本发明实施例三揭示的另一种节点协同方法的方法流程图;图4为本发明实施例四揭示的一种节点协同装置的结构示意图;图5为本发明揭示的另一种节点协同装置的结构示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。实施例一请参阅图1,其为本发明实施例一揭示的一种节点协同方法的方法流程图,包括以下步骤步骤101 :子节点与父节点进行关联;步骤102 :子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期和父节点的唤醒时间长度;步骤103 :当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;步骤104 :判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点唤醒时间长度;步骤105 :如果是,则直接向父节点发送数据包;
步骤106 :否则,缓存数据包,在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,直接向父节点发送缓存的数据包;步骤107 :接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达。当发送下一个数据的时刻到达时,重新返回到步骤103,继续发送下一个数据。优选的,所述步骤103,包括对当前时刻和关联时父节点唤醒/睡眠周期中唤醒时段的起始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定所述余数为当前时刻与父节点的最近一个周期起始时刻之间的时间距离。优选的,所述步骤106,包括在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,判断所述子节点是否处于唤醒状态;如果子节点处于唤醒状态,则直接发送数据包;否则,唤醒子节点再进行发送。优选的,所述方法,还包括根据父节点和子节点之间的时钟偏差和/或子节点的传输时延对所述时间距离的影响,计算所述时间距离的冗余时间长度,将父节点的唤醒/睡眠周期中唤醒时段的长度与所述冗余时间长度的差值作为所述允许传输的时间长度。优选的,所述冗余时间长度为25%的所述父节点的唤醒/睡眠周期中唤醒时段的长度,则设置允许传输的时间长度为75%的所述父节点的唤醒/睡眠周期中唤醒时段的长度。通过上述实施例一,可以看出,本发明提供的一种节点协同方法,通过在父节点发送的确认帧中携带父节点的唤醒/睡眠周期和父节点的唤醒时间长度,使得子节点在成功关联的时候获得了父节点的相关信息,以便在数据传输时,完成节点协同,实现数据传输,进一步使得各个节点仅仅在各自需要数据传输时才侦听,从而大大减少了子节点在网络中过度侦听不需要的数据时,所浪费的大量能量,使得网络能量得到更有效地利用。实施例二实施例一中描述的一种节点协同的方法,虽然能够实现节点同步,减少网络能量浪费,但是在节点同步的精度上,和数据传输的有效性方面存在一些问题,主要是由于时钟偏差,以及数据传输时延等问题引起的,为了解决上述问题,本发明提供了另一种节点协同的方法,具体请参阅图2所示的另一种节点协同的方法,具体包括以下步骤步骤201 :子节点与父节点进行关联;步骤202 :子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期、唤醒时段和下一个自然唤醒周期开始时刻。步骤203 :当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;步骤204 :判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度;
步骤205 :则直接向父节点发送数据包;步骤206 :缓存数据包,与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,直接向父节点发送缓存的数据包;步骤207 :接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达,所述确认数据帧包含下一个自然唤醒周期开始时刻。优选的,所述步骤203,包括对当前时刻和下一个自然唤醒周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定所述余数为当前时刻与父节点的最近一个周期起始时刻之间的时间距离。优选的,所述步骤206包括当等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻时,判断所述子节点是否处于唤醒状态;如果子节点处于唤醒状态,则直接发送数据包;否则,唤醒子节点再进行发送。优选的,所述方法,还包括根据父节点和子节点之间的时钟偏差和/或子节点的传输时延对所述时间距离的影响,计算所述时间距离的冗余时间长度,将父节点的唤醒/睡眠周期中唤醒时段的长度与所述冗余时间长度的差值作为所述允许传输的时间长度。优选的,所述冗余时间长度为25%的所述父节点的唤醒/睡眠周期中唤醒时段的长度,则设置允许传输的时间长度为75%的所述父节点的唤醒/睡眠周期中唤醒时段的长度。通过上述实施例二可以看出,本发明提供的一种节点协同的方法,通过节点关联成功后,在父节点发送的确认帧中携带父节点的唤醒/睡眠周期、唤醒时间长度和下一个自然唤醒周期开始时刻,使得每个子节点在有数据传输时,则根据上述父节点的唤醒/睡眠周期、唤醒时间长度和下一个自然唤醒周期开始时刻,计算判断出传输时间,完成数据传输,由于周期信息中包含下一个自然唤醒周期开始时刻,所以减少了时钟偏差和传输时延在子节点计算时间距离时所带来的误差,使得整个节点协同过程,更加精确,使得数据传输有效性更高,进一步提高整个节点网络性能。实施例三为了更详细的对本发明提供的一种节点协同方法进行描述,下面是具体的节点协同场景为例,进行描述,具体请参阅图3,另一种节点协同方法的方法流程图,具体包括步骤301 :子节点与父节点进行关联;
步骤302 :子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期、唤醒时间长度和下一个自然唤醒周期开始时刻;步骤303 :当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段起始时刻之间的时间距离;步骤304 :根据时钟偏差和传输时延对计算精度的影响,采用25%的冗余,设置允许传输的时间长度为75%的唤醒时间长度。步骤305 :判断所述时间距离是否小于75%的唤醒时间长度;步骤306 :如果是,则直接向父节点发送数据包;步骤307 :否则,缓存数据包,在等到与当前时刻相邻的父节点自然唤醒周期开始时刻到达时,直接发送缓存数据包给父节点;步骤308 :接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达,所述确认数据帧包括下一个自然唤醒周期开始时刻。优选的,所述步骤303包括对当前时刻和下一个自然唤醒周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定所述余数为当前时刻与最近的一个父节点唤醒/睡眠周期中的唤醒时段起始时刻之间的时间距离。步骤307,包括在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,判断所述子节点是否处于唤醒状态;如果子节点处于唤醒状态,则直接发送数据包;否则,唤醒子节点再进行发送。上述方法可以为,步骤302 :子节点I获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期T、唤醒时间长度Ttl和下一个自然唤醒周期开始时刻T1 ;步骤303 :当T2时刻子节点向父节点发送数据,计算当前时刻与父节点的最近一个周期起始时刻之间的时间距离,则计算方法为第一步,计算T2-T1的差值;第二步,按照公式MOD [ (T2-T1),T],所述公式MOD是做取余计算的,具体是,计算差值除以周期的余数,例如T2 = 15,T1 = 2,T = 3,则所述mod[ (T2-T1)iT]为(15-2)/3的余数,即数值I。第三步,则确定所述余数为所述时间距离,则所述时间距离为I ;步骤304:根据时钟偏差和传输时延对计算精度的影响,采用25%的冗余,计算出允许传输的时间长度为75%的唤醒时间长度,例如所述唤醒时间长度Ttl = 2,则所述允许传输的时间长度为1. 5。步骤305 :判断所述时间距离是否小于75%的唤醒时间长度,则所述时间距离I小于允许传输的时间长度1. 5。步骤306 :如果是,则直接向父节点发送数据包;当步骤305的判断结果是不小于,则进行步骤307:缓存数据包,在等到下一个父节点自然唤醒周期开始时刻到达时直接发送;则具体等待的时间是父节点的唤醒/睡眠周期T减去时间距离的差值,具体为3-1 = 2。步骤308 :接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达,所述确认数据帧包括下一个自然唤醒周期开始时刻。
通过上述实施例三,可以看出,通过父节点的确认巾贞中携带父节点的唤醒/睡眠周期、唤醒时间长度和下一个自然唤醒周期开始时刻,以便子节点在节点同步时,计算时间距离,准确发送数据,同时采用25%的冗余,设置允许传输的时间长度为75%的唤醒时间长度,减少由于时钟偏差和传输时延对计算精度和传输数据有效性产生的影响,进一步使得整个节点网络系统的能量得到有效利用。实施例四本发明还提供了一种节点协同的装置,具体请参阅图4,一种节点协同的装置结构示意图。具体包括关联模块401,获取模块402,计算模块403,判断模块404,发送模块405,缓存模块406和接收模块407,关联模块401,用于子节点与父节点进行关联;获取模块402,用于子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/ 睡眠周期和父节点的唤醒时间长度;计算模块403,用于当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;判断模块404,用于判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度;发送模块405,用于所述判断模块的判断结果为是时,直接向父节点发送数据包;缓存模块406,用于所述判断模块的判断结果为否时,缓存数据包在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,以便发送模块直接向父节点发送缓存的数据包;接收模块407,用于接收父节点在接收到数据包发送的确认数据帧,等待发送下一个数据的时刻到达。优选的,所述获取模块402获取的父节点周期信息包括父节点的唤醒/睡眠周期和唤醒时间长度。则,优选的,所述计算模块403,包括计算子模块403A,用于对当前时刻和关联时父节点唤醒/睡眠周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定子模块403B,用于确定所述余数为当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离。优选的,所述获取模块402获取的确认帧,还包括下一个自然唤醒周期开始时刻。则,优选的,所述计算模块403,包括计算子模块403C,用于对当前时刻和下一个自然唤醒周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定子模块403D,用于确定所述余数为当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离。优选的,所述缓存模块406包括判断子模块406A,用于当等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻时,判断所述子节点是否处于唤醒状态;
触发子模块406B,用于当判断子模块判断出所述子节点处于唤醒状态,触发所述发送模块发送数据包;唤醒子模块406C,用于当判断子模块判断出所述子节点处于睡眠状态,则唤醒子节点,以便发送模块发送数据包。优选的,所述接收模块407,接收到的确认帧,包含父节点下一个自然唤醒周期开始时刻。优选的,所述装置,还包括设置模块,用于根据父节点和子节点之间的时钟偏差和/或子节点的传输时延对所述时间距离的影响,计算所述时间距离的冗余时间长度,将父节点的唤醒/睡眠周期中唤醒时段的长度与所述冗余时间长度的差值作为所述允许传输的时间长度,具体如图5所 /Jn ο优选的,所述装置,还包括设置子模块,所述冗余时间长度为25%的所述父节点的唤醒/睡眠周期中唤醒时段的长度,则设置允许传输的时间长度为75%的所述父节点的唤醒/睡眠周期中唤醒时段的长度。以上对本发明所提供的一种射频信号扫频方法及装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种节点协同方法,其特征在于,包括子节点与父节点进行关联;子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期,父节点的唤醒时间长度;当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度;如果是,则直接向父节点发送数据包;否则,缓存数据包,在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,直接向父节点发送缓存的数据包;接收父节点在接收到数据包后发送的确认数据帧,等待发送下一个数据的时刻到达。
2.根据权利要求1所述的方法,其特征在于,所述当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离,包括对当前时刻和关联时父节点唤醒/睡眠周期中唤醒时段的起始时刻做减法处理,得到时间差值,用所述时间差值除以父节点的唤醒/睡眠周期,得到余数;确定所述余数为当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离。
3.根据权利要求1所述的方法,其特征在于,所述确认帧,还包括下一个自然唤醒周期开始时刻。
4.根据权利要求3所述的方法,其特征在于,所述当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离,包括对当前时刻和下一个自然唤醒周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数;确定所述余数为当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离。
5.根据权利要求3所述的方法,其特征在于,所述接收父节点在接收到数据包后发送的确认数据帧,所述确认数据帧包括下一个自然唤醒周期开始时刻。
6.根据权利要求1所述的方法,其特征在于,所述缓存数据包,在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时直接向父节点发送缓存的数据包, 包括当等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻时,判断所述子节点是否处于唤醒状态;如果子节点处于唤醒状态,则直接发送数据包;否则,唤醒子节点再进行发送。
7.一种节点协同装置,其特征在于,包括关联模块,用于子节点与父节点进行关联; 获取模块,用于子节点获取父节点的确认帧,所述确认帧包含父节点的唤醒/睡眠周期和父节点的唤醒时间长度; 计算模块,用于当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离; 判断模块,用于判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒时间长度; 发送模块,用于所述判断模块的判断结果为是时,直接向父节点发送数据包; 缓存模块,用于所述判断模块的判断结果为否时,缓存数据包在等到与当前时刻相邻的父节点唤醒/睡眠周期中唤醒时段的起始时刻到达时,以便发送模块直接向父节点发送缓存的数据包; 接收模块,用于接收父节点在接收到数据包发送的确认数据帧,等待发送下一个数据的时刻到达。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,包括 计算子模块一,用于对当前时刻和关联时父节点唤醒/睡眠周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数; 确定子模块一,用于确定计算子模块计算的所述余数为当前时刻与父节点的最近一个周期起始时刻之间的时间距离。
9.根据权利要求7所述的装置,其特征在于,所述获取模块获取的确认帧,还包括 下一个自然唤醒周期开始时刻。
10.根据权利要求9所述的装置,其特征在于,所述计算模块,包括 计算子模块二,用于对当前时刻和下一个自然唤醒周期开始时刻做减法处理,得到时间差值,用时间差值除以父节点的唤醒/睡眠周期,得到余数; 确定子模块二,用于确定所述计算子模块二计算的所述余数为当前时刻与父节点的最近一个周期起始时刻之间的时间距离。
11.根据权利要求9所述的方法,其特征在于,所述接收模块,接收到的确认帧,包含父节点下一个自然唤醒周期开始时刻。
12.根据权利要求7所述的装置,其特征在于,所述缓存模块包括 判断子模块,用于当到达与当前时刻相邻的父节点自然唤醒周期开始时刻时,判断所述子节点是否处于唤醒状态; 触发子模块,用于当判断子模块判断出所述子节点处于唤醒状态,触发所述发送模块发送数据包; 唤醒子模块,用于当判断子模块判断出所述子节点处于睡眠状态,则唤醒子节点,以便发送模块发送数据包。
全文摘要
本发明实施例公开了一种节点协同方法及装置,所述方法通过子节点与父节点进行关联;子节点获取父节点的确认帧包含父节点的唤醒/睡眠周期和父节点的唤醒时间长度;当子节点向父节点发送数据时,计算当前时刻与最近的一个父节点唤醒/睡眠周期中唤醒时段的起始时刻之间的时间距离;判断所述时间距离是否小于允许传输的时间长度,所述允许传输的时间长度为父节点的唤醒/睡眠周期中唤醒时段的长度;如果是,则直接向父节点发送数据包;本发明通过采用下行的确认帧进行信息交互,以少量的协议控制帧实现了节点间协同,大大提高了能量效率与网络可靠性。
文档编号H04W28/16GK103024822SQ20121058187
公开日2013年4月3日 申请日期2012年12月27日 优先权日2012年12月27日
发明者段蒙, 陈岚, 吕超 申请人:中国科学院微电子研究所