一种周期唤醒节点的方法和装置的制造方法

文档序号:10505385阅读:384来源:国知局
一种周期唤醒节点的方法和装置的制造方法
【专利摘要】本发明涉及电子设备技术领域,公开了一种周期唤醒节点的方法和装置,该方法包括:依据休眠时长对所述节点进行周期性休眠;每次当休眠时长到达时,唤醒所述节点来对事件进行检测;当检测到事件时,确定本次事件与上次事件间的间隔时间;当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。该方法能够根据事件的间隔时间的变化对休眠时长进行自动调整,进而提高节点的工作性能,并可以延长节点的工作寿命。
【专利说明】
一种周期唤醒节点的方法和装置
技术领域
[0001]本发明涉及电子设备技术领域,具体地,涉及一种周期唤醒节点的方法和装置。
【背景技术】
[0002]在现有技术中,一些设备通过电池进行供电,例如无线传感器网络中的无线传感器,这些设备由于供电能力的限制需要采用休眠机制来延长使用寿命。这些网络中的设备可以被称为节点。
[0003]现有技术中,对网络中节点所采用的休眠机制为设置固定休眠时长,按休眠时长进行周期性休眠的方式。但是,具体环境中需要节点检测并处理的事件的发生频率可能会不断进行变化。如果休眠时长相对于发生事件的间隔时间过长,则会导致节点遗漏掉部分事件,影响整体性能;如果休眠时长相对于发生事件的间隔时间过短,则又会使得节点进行不必要的唤醒,浪费节点的能量,导致节点的工作寿命降低。如此需要提供一种新的周期唤醒节点的机制来克服上述问题。

【发明内容】

[0004]本发明的目的是提供一种周期唤醒节点的方法和装置,用于解决上述技术问题,至少部分地解决上述技术问题。
[0005]为了实现上述目的,本发明提供一种周期唤醒节点的方法,该方法包括:依据休眠时长对所述节点进行周期性休眠;每次当休眠时长到达时,唤醒所述节点来对事件进行检测;当检测到事件时,确定本次事件与上次事件间的间隔时间;当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。
[0006]优选地,所述方法还包括:当没有检测到事件时,继续依据休眠时长对所述节点进行周期性休眠。
[0007]优选地,所述确定本次事件与上次事件间的间隔时间包括:记录检测到的本次事件的时刻值;将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。
[0008]优选地,所述根据所确定的多个事件间间隔时间变更休眠时长包括:计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。
[0009]优选地,所述当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长包括:判断确定的事件间间隔时间的个数是否达到预设阈值N;如果达至IJ,则根据确定的N个事件间间隔时间变更休眠时长;如果没有达到,则继续依据当前休眠时长对所述节点进行周期性休眠。
[0010]根据本本发明的另一方面,公开了一种周期唤醒节点的装置,该装置包括:休眠模块,用于依据休眠时长对节点进行周期性休眠;检测模块,用于每次当休眠时长到达时,唤醒所述节点来对事件进行检测;确定模块,用于当检测到事件时,确定本次事件与上次事件间的间隔时间;变更模块,用于当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。
[0011]优选地,所述检测模块还用于当没有检测到事件时,指示所述休眠模块继续依据休眠时长进行周期性休眠。
[0012]优选地,所述确定模块用于记录检测到的本次事件的时刻值,将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。
[0013]优选地,所述变更模块用于计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。
[0014]优选地,所述变更模块用于判断确定的事件间间隔时间的个数是否达到预设阈值N,如果达到,则根据确定的N个事件间间隔时间变更休眠时长;如果没有达到,则指示所述休眠模块继续依据当前休眠时长对所述节点进行周期性休眠。
[0015]通过上述技术方案,节点依据休眠时长进行周期性休眠,每次当休眠时长到达时,节点被唤醒并对事件进行检测,当检测到事件时,节点确定本次事件与上次事件间的间隔时间,当已经确定出多个事件间间隔时间时,节点根据所确定的多个事件间间隔时间变更休眠时长。如此,能够根据事件的间隔时间的变化对休眠时长进行自动调整,进而能够避免因休眠时长相对于发生事件的间隔时间过长,而会导致节点遗漏掉部分事件影响整体性能;以及因休眠时长相对于发生事件的间隔时间过短,而浪费节点的能量导致节点的工作寿命降低。采用本发明的技术方案能够提高节点的工作性能,并可以延长节点的工作寿命。
[0016]本发明的其它特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0017]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0018]图1是根据本发明实施例的周期唤醒节点的方法的流程图;
[0019]图2是根据本发明实施例的确定事件间间隔时间的过程的流程图;
[0020]图3是根据本发明实施例的变更休眠时长的过程的流程图;
[0021]图4是根据本发明实施例的周期唤醒节点的方法的流程图;
[0022]图5是根据本发明实施例的周期唤醒节点的装置的结构图。
【具体实施方式】
[0023]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0024]图1是根据本发明实施例的周期唤醒节点的方法的流程图。该方法可用于无线传感器等各种设备中,在本发明中所述设备也被称为节点,如图1所示,该方法可包括如下步骤。
[0025]在步骤SllO中,依据休眠时长对节点进行周期性休眠。
[0026]举例而言,初始时,休眠时长可以为配置值,节点中设置有休眠计时器。开启休眠计时器开始计时,在休眠时长内,使节点停止全部或部分功能的运行,当休眠计时器期满时,将节点唤醒。对节点按照休眠时长进行周期性休眠,每次都是在休眠时长内休眠,当休眠时长到达时,将节点唤醒。
[0027]在步骤S120中,每次当休眠时长到达时,唤醒节点来对事件进行检测。
[0028]举例而言,每次当休眠计时器期满时,将节点唤醒,其各个功能开始运行。节点在唤醒时刻对周围事物进行检测,例如,传感器节点可以对周围环境的事件进行感应。
[0029]在步骤S130中,当检测到事件时,确定本次事件与上次事件间的间隔时间。
[0030]在一实施例中,如图2所示,所述确定本次事件与上次事件间的间隔时间可包括如下步骤。
[0031 ]在步骤S132中,记录检测到本次事件的时刻值。
[0032]在步骤S134中,将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。
[0033]举例而言,在节点中维护一个事件记录表,在该事件记录表中记录各个事件,事件对应的时刻值,以及事件与上次事件间的间隔时间。当检测到事件时,在事件记录表中创建新的表项,在新表项中记录下本次事件,检测到的本次事件的时刻值,本次事件与上次事件间的间隔时间。其中,本次事件与上次事件间的间隔时间可以通过将本次事件的时刻值与事件记录表中上次事件的时刻值相减的方式获得。可以采用哈希表来实现事件记录表,但是本发明中进行事件信息记录的方法不限于此。
[0034]在步骤S140中,当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。
[0035]在一实施例中,所述根据所确定的多个事件间间隔时间变更休眠时长可包括:计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。
[0036]在一实施例中,如图3所示,所述当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长可包括如下步骤。
[0037]在步骤S142中,判断确定的事件间间隔时间的个数是否达到预设阈值N。
[0038]在步骤S144中,如果达到,则根据确定的N个事件间间隔时间变更休眠时长。
[0039]在步骤S146中,如果没有达到,则继续依据当前休眠时长对节点进行周期性休眠。
[0040]举例而言,在检测到事件时,将事件信息(例如,检测到的事件的时刻值,事件与上次事件间的间隔时间)记录到事件记录表中后,判断事件记录表中记录的事件间间隔时间的个数是否达到预设阈值N。
[0041]如果没有达到,则继续使用当前休眠时长对节点进行周期性休眠,执行步骤SllO至步骤S140中操作。如果达到,则将N个事件间间隔时间进行平均运算,使用平均值作为新的休眠时长,并且将事件记录表中内容清空。其中,根据N个事件间间隔时间获得新的休眠时长的方法不限于求取平均值的方式。例如,可以将N个事件间间隔时间进行分布分析,将在分布中与其他事件间间隔时间相距较远(例如超过预设分布阈值)的事件间间隔时间剔除,利用剩下的事件间间隔时间计算新的休眠时长。之后,采用新的休眠时间对节点进行周期性休眠,重新执行步骤SI 10至步骤S140中的操作。
[0042]在一实施例中,所述方法还可包括:当没有检测到事件时,继续依据休眠时长对节点进行周期性休眠。
[0043]图4是根据本发明实施例的周期唤醒节点的方法的流程图。在本实施例中,所述方法用于传感器网络,初始时在传感器中配置有初始休眠时长,如图4所示,传感器网络中的传感器执行如下步骤。
[0044]在步骤S402中,在休眠时长内对节点进行休眠。在步骤S404中,当休眠时长到达时,唤醒节点来对事件进行检测,判断是否检测到事件,如果检测到事件执行步骤S406,如果没有检测到事件,执行步骤S402。在步骤S406中,在事件表中记录检测到的本次事件的时刻值。在步骤S408中,将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间并记录到事件表中。在步骤S410中,判断事件表中事件间间隔时间的个数是否达到预设阈值N,如果达到,则执行步骤S412,如果没有达到,则执行步骤S402。在步骤S412中,计算N个事件间间隔时间的平均值,将休眠时长变更为该平均值,并清空事件表中数据,之后执行步骤S402;在步骤S402中开始按变更后的休眠时长对节点进行休眠。
[0045]如此,能够根据事件的间隔时间的变化对休眠时长进行自动调整,进而能够避免因休眠时长相对于发生事件的间隔时间过长,而会导致节点遗漏掉部分事件影响整体性能;以及因休眠时长相对于发生事件的间隔时间过短,而浪费节点的能量导致节点的工作寿命降低。采用本发明的技术方案能够提高节点的工作性能,并可以延长节点的工作寿命。
[0046]图5是根据本发明实施例的周期唤醒节点的装置的结构图。该装置可用于无线传感器等各种设备中,在本发明中所述设备也被称为节点,如图5所示,该装置可包括如下模块。
[0047]休眠模块510,用于依据休眠时长对节点进行周期性休眠;
[0048]检测模块520,用于每次当休眠时长到达时,唤醒所述节点来对事件进行检测;
[0049]确定模块530,用于当检测到事件时,确定本次事件与上次事件间的间隔时间;
[0050]变更模块540,用于当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。
[0051]在一实施例中,检测模块520还用于当没有检测到事件时,指示休眠模块510继续依据休眠时长进行周期性休眠。
[0052]在一实施例中,确定模块530用于记录检测到的本次事件的时刻值,将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。
[0053]在一实施例中,变更模块540用于计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。
[0054]在一实施例中,变更模块540用于判断确定的事件间间隔时间的个数是否达到预设阈值N,如果达到,则根据确定的N个事件间间隔时间变更休眠时长;如果没有达到,则指示休眠模块510继续依据当前休眠时长对所述节点进行周期性休眠。
[0055]举例而言,初始时,休眠时长可以为配置值,休眠模块510中设置有休眠计时器。开启休眠计时器开始计时,在休眠时长内,使节点停止全部或部分功能的运行,当休眠计时器期满时,指示检测模块520将节点唤醒来进行检测。对节点按照休眠时长进行周期性休眠,每次都是在休眠时长内休眠,当休眠时长到达时,将节点唤醒。在节点中维护一个事件记录表,在该事件记录表中记录各个事件,事件对应的时刻值,以及事件与上次事件间的间隔时间。当检测到事件时,检测模块520在事件记录表中创建新的表项,在新表项中记录下本次事件,检测到的本次事件的时刻值。确定模块530将本次事件的时刻值与事件记录表中上次事件的时刻值相减的确定本次事件与上次事件间的间隔时间,并将该时间间隔就到事件记录表中。可以采用哈希表来实现事件记录表,但是本发明中进行事件信息记录的方法不限于此。
[0056]在确定模块530将事件与上次事件间的间隔时间记录到事件记录表中后,变更模块540判断事件记录表中记录的事件间间隔时间的个数是否达到预设阈值N。如果没有达至IJ,则变更模块540指示休眠模块510继续使用当前休眠时长对节点进行周期性休眠。如果达到,则变更模块540将N个事件间间隔时间进行平均运算,使用平均值作为新的休眠时长,并且将事件记录表中内容清空。其中,根据N个事件间间隔时间获得新的休眠时长的方法不限于求取平均值的方式。例如,可以将N个事件间间隔时间进行分布分析,将在分布中与其他事件间间隔时间相距较远(例如超过预设分布阈值)的事件间间隔时间剔除,利用剩下的事件间间隔时间计算新的休眠时长。之后,休眠模块510采用新的休眠时间对节点进行周期性休眠。
[0057]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0058]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0059]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种周期唤醒节点的方法,该方法包括: 依据休眠时长对所述节点进行周期性休眠; 每次当休眠时长到达时,唤醒所述节点来对事件进行检测; 当检测到事件时,确定本次事件与上次事件间的间隔时间; 当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当没有检测到事件时,继续依据休眠时长对所述节点进行周期性休眠。3.根据权利要求1所述的方法,其特征在于,所述确定本次事件与上次事件间的间隔时间包括: 记录检测到的本次事件的时刻值; 将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。4.根据权利要求1所述的方法,其特征在于,所述根据所确定的多个事件间间隔时间变更休眠时长包括: 计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。5.根据权利要求1所述的方法,其特征在于,所述当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长包括: 判断确定的事件间间隔时间的个数是否达到预设阈值N; 如果达到,则根据确定的N个事件间间隔时间变更休眠时长; 如果没有达到,则继续依据当前休眠时长对所述节点进行周期性休眠。6.一种周期唤醒节点的装置,该装置包括: 休眠模块,用于依据休眠时长对节点进行周期性休眠; 检测模块,用于每次当休眠时长到达时,唤醒所述节点来对事件进行检测; 确定模块,用于当检测到事件时,确定本次事件与上次事件间的间隔时间; 变更模块,用于当已经确定出多个事件间间隔时间时,根据所确定的多个事件间间隔时间变更休眠时长。7.根据权利要求6所述的装置,其特征在于,所述检测模块还用于当没有检测到事件时,指示所述休眠模块继续依据休眠时长进行周期性休眠。8.根据权利要求6所述的装置,其特征在于,所述确定模块用于记录检测到的本次事件的时刻值,将本次事件的时刻值与上次事件的时刻值相减,确定出本次事件与上次事件间的间隔时间。9.根据权利要求6所述的装置,其特征在于,所述变更模块用于计算多个事件间间隔时间的平均值,将事件间间隔时间的平均值作为变更后的休眠时长。10.根据权利要求6所述的装置,其特征在于,所述变更模块用于判断确定的事件间间隔时间的个数是否达到预设阈值N,如果达到,则根据确定的N个事件间间隔时间变更休眠时长;如果没有达到,则指示所述休眠模块继续依据当前休眠时长对所述节点进行周期性休眠。
【文档编号】H04W84/18GK105873200SQ201610340109
【公开日】2016年8月17日
【申请日】2016年5月20日
【发明人】伍云云
【申请人】美的集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1