IPC分类号 : H04W4/02,H04W4/70,H04W40/24,H04W52/02,H04W84/18,H04L29/08
专利摘要
本发明提供了一种高效的物联网构建方法,所述物联网包括一个控制器和两个以上的传感节点,一个控制器和传感节点构成一个树状结构,该树状结构中,控制器为根节点;移动设备通过本发明提供的方法能够快速获取网络服务,提高网络的稳定性以及通信性能,从而降低通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
权利要求
1.一种物联网构建方法,其特征在于,所述物联网包括一个控制器和两个以上的传感节点,控制器和传感节点构成一个树状结构,该树状结构中,控制器为根节点;
一个控制器或者一个传感节点由一个地址唯一标识,该地址由硬件ID和坐标构成;一个控制器启动后,构建一个地址,该地址的硬件ID为零,坐标为控制器自己的地理坐标;一个传感节点启动后,构建一个地址,该地址的硬件ID为传感节点自己的硬件ID,坐标为自己的地理坐标;
一个传感节点有三种状态,休眠状态、半休眠状态和活跃状态;休眠状态的传感节点不接收任何消息;休眠状态的状态值为0;半休眠状态的传感节点只能接收信标消息、触发消息和新节点消息;半休眠状态的状态值为1;活跃状态的传感节点能接收任何消息;活跃状态的状态值为2;
每个控制器或者传感节点保存一个邻居表,每个邻居表项包含地址域、状态域、生命周期域和关系域;关系域值为0或者1;关系域值1表明该传感节点加入了树状结构,关系域值0表明该传感节点没有加入树状结构;
控制器、处于活跃状态的传感节点和半休眠状态的传感节点分别定期发送信标消息,发送两个信标消息之间的时间间隔为T1;
物联网启动后,控制器和所有传感节点均处于活跃状态;控制器通过下述过程建立一个邻居表:
步骤101:开始;
步骤102:控制器发送一个信标消息,该信标消息的源地址为该控制器的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2;
步骤103:邻居传感节点接收到该信标消息后,保存该信标消息中的控制器的地址,即该信标消息的源地址,查看邻居表,判断是否存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,是则执行步骤104,否则执行步骤105;
步骤104:接收到该信标消息的邻居传感节点选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,n1为大于1的数字,关系域值为0;执行步骤106;
步骤105:接收到该信标消息的邻居传感节点创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤106:结束;
传感节点启动后处于活跃状态,传感节点获取控制器的地址后执行下述过程:
步骤201:开始;
步骤202:传感节点发送一个信标消息,该信标消息的源地址为该传感节点的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2以及控制器的地址;
步骤203:邻居传感节点或者控制器接收到该信标消息后,保存该信标消息负载中的控制器的地址,查看邻居表;如果存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,则执行步骤204,否则执行步骤205;
步骤204:接收到该信标消息的邻居传感节点或者控制器选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0,执行步骤206;
步骤205:接收到该信标消息的邻居传感节点或者控制器创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤206:结束;
控制器和传感节点建立邻居表后,控制器发起树状结构创建过程:
步骤301:开始;
步骤302:控制器选择一个邻居表项E1,在所有邻居表项中,邻居表项E1中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E1的地址,将邻居表项E1的关系域值设置为1;所述控制器查看邻居表,针对除了邻居表项E1之外的每个邻居表项,控制器执行下述操作:如果邻居表项E1中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤303:控制器选择一个邻居表项E2,邻居表项E2的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,邻居表项E2中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E2的地址,将邻居表项E2的关系域值设置为1;控制器查看邻居表,针对除了邻居表项E2之外的每个状态域值为2且关系域值为0的邻居表项,控制器执行下述操作:如果邻居表项E2中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤304:控制器查看邻居表,判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值为0,是则执行步骤303,否则执行步骤305;
步骤305:判断是否传感节点接收到休眠消息,是则执行步骤306,否则执行步骤307;
步骤306:接收到休眠消息的传感节点保存该休眠消息的源地址,选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后发送一个信标消息,该信标消息的源地址为该传感节点的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值0以及休眠时间T2,然后该传感节点转为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域等于该信标消息的源地址,将该邻居表项的状态域值设置为该信标消息负载中的状态值,关系域值设置为0,生命周期域值设置为n1×T2;执行步骤309;
步骤307:接收到构建树消息的传感节点保存该构建树消息的源地址;判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值等于0,是则执行步骤308,否则执行步骤309;
步骤308:接收到构建树消息的传感节点选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后选择一个邻居表项E3,邻居表项E3的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,控制器地址的坐标与邻居表项E3的地址域值的坐标的距离最大;该传感节点发送一个构建树消息,该构建树消息的源地址为自己的地址,目的地址为邻居表项E3中的地址域值,将邻居表项E3的关系域值设置为1;该传感节点查看邻居表,对于除了邻居表项E3以外的状态值为2且关系域值为0的每个邻居表项,该传感节点执行下述操作:传感节点发送一个休眠消息,该休眠消息的源地址为自己的地址,目的地址为该邻居表项中的地址域值,将该邻居表项的状态域值设置为0,执行步骤305;
步骤309:结束;
处于休眠状态的传感节点在休眠n1×T2后,转换为半休眠状态。
2.根据权利要求1所述的一种物联网构建方法,其特征在于,如果一个节点的状态从休眠状态转换为半休眠状态,它执行下述操作更新邻居表:
步骤401:开始;
步骤402:传感节点发送一个信标消息,该信标消息的源地址为传感节点自己的地址,目的地址为广播地址,负载为状态值1;
步骤403:邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1;
步骤404:结束;
如果半休眠状态的传感节点在n2×T1内没有接收到触发消息,n2为大于2的数,则发送一个信标消息,该信标消息的源地址为自己的地址,目的地址为广播地址,负载为状态值0和休眠时间T2,半休眠状态的传感节点转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0。
3.根据权利要求1所述的一种物联网构建方法,其特征在于,如果传感节点处于活跃状态的时间超过预定值T3,则执行下述过程:
步骤501:开始;
步骤502:传感节点选择所有关系域值等于1的邻居表项,同时选择一个邻居表项E4,邻居表项E4的关系域值为0,且邻居表项E4地址域值的坐标与每个关系域值等于1的邻居表项中的地址域值的坐标的距离都小于传输半径R1;如果邻居表项E4的状态等于0,则该传感节点等待直到邻居表项E4的状态域值变为半休眠状态;该传感节点发送一个触发消息,该触发消息的源地址为所述传感节点自己的地址,目的地址为邻居表项E4的地址域值,负载为传感节点自己的邻居表以及休眠时间T2;
步骤503:该传感节点发送一个信标消息,该信标消息的源地址为所述传感节点自己的地址,目的地址为广播地址,负载为状态值0以及休眠时间T2,转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0;
步骤504:目的传感节点接收到触发消息后,将自己的邻居表更新为触发消息负载中的邻居表,在该邻居表中创建一个邻居表项,该邻居表项的地址域值等于该触发消息的源地址,状态域值为0,生命周期域值为n1×T2,关系域值为0;收到触发消息的目的传感节点从邻居表中删除一个邻居表项,该邻居表项的地址域值等于收到触发消息的目的传感节点的地址,转变为活跃状态;收到触发消息的目的传感节点发送一个信标消息,该信标消息的源地址等于目的传感节点自己的地址,目的地址为广播地址,负载为状态值2;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值设置为1;
步骤505:结束。
4.根据权利要求1所述的一种物联网构建方法,其特征在于,如果一个邻居表项的生命周期过期,则从邻居表中删除该邻居表项;
如果处于半休眠状态的传感节点检测到一个关系域值为1的邻居表项的生命周期过期且没有接收到源地址域值等于该邻居表项的地址域值的新节点消息,该传感节点则查看自己的坐标与该邻居表项的地址域的坐标的距离是否小于阈值D1;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离不小于阈值D1,则该传感节点删除该邻居表项;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离小于阈值D1,该传感节点则转变为活跃状态,删除该邻居表项,发送一个新节点消息,该新节点消息的源地址为自己的地址,目的地址为广播地址,负载为状态域值2;邻居传感节点接收到该新节点消息后,选择一个邻居表项,该邻居表项的地址域值等于该新节点消息的源地址,将该邻居表项的状态域值设置为该新节点消息负载中的状态域值,生命周期设置为n1×T1,关系域值设置为1。
说明书
技术领域
本发明涉及一种构建方法,尤其涉及的是一种高效的物联网构建方法。
背景技术
物联网是一种新的服务模式。近年来,很多研究工作致力于物联网的构建方法以确保网络的稳定性和通信的连续性,从而用户节点能够快速获取网络服务。随着网络技术的发展,物联网会成为未来提供服务的一种模式。目前,物联网的构建延迟和代价都比较大,降低了网络服务性能。因此,如何降低物联网构建的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种高效的物联网构建方法。
技术方案:本发明公开了一种高效的物联网构建方法,所述物联网包括一个控制器和两个以上的传感节点,一个控制器和传感节点构成一个树状结构,该树状结构中,控制器为根节点;控制器可以是智能电话;
一个控制器或者一个传感节点由一个地址唯一标识,该地址由硬件ID和坐标构成,硬件ID可以为MAC地址;一个控制器启动后,构建一个地址,该地址的硬件ID为零,坐标为控制器自己的地理坐标;一个传感节点启动后,构建一个地址,该地址的硬件ID为传感节点自己的硬件ID,坐标为自己的地理坐标;
一个传感节点有三种状态,休眠状态、半休眠状态和活跃状态;休眠状态的传感节点不接收任何消息;休眠状态的状态值为0;半休眠状态的传感节点只能接收信标消息、触发消息和新节点消息;半休眠状态的状态值为1;活跃状态的传感节点能接收任何消息;活跃状态的状态值为2;
每个控制器或者传感节点保存一个邻居表,每个邻居表项包含地址域、状态域、生命周期域和关系域;关系域值为0或者1;关系域值1表明该传感节点加入了树状结构,关系域值0表明该传感节点没有加入树状结构;
控制器、处于活跃状态的传感节点和半休眠状态的传感节点定期发送信标消息,发送两个信标消息之间的时间间隔为T1;
物联网启动后,控制器和所有传感节点均处于活跃状态;控制器通过下述过程建立一个邻居表:
步骤101:开始;
步骤102:控制器发送一个信标消息,该信标消息的源地址为该控制器的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2;
步骤103:邻居传感节点接收到该信标消息后,保存该信标消息中的控制器的地址,即该信标消息的源地址,查看邻居表,判断是否存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,是则执行步骤104,否则执行步骤105;
步骤104:接收到该信标消息的邻居传感节点选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,n1为大于1的数字,例如1.5,n1为调节系数,n1越大,生命周期越长,n1越小,生命周期越小关系域值为0;执行步骤106;
步骤105:接收到该信标消息的邻居传感节点创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤106:结束。
控制器通过上述过程建立邻居表从而获取邻居传感节点的状态以建立树状结构。邻居表通过生命周期来确保邻居节点的有效性。
本发明所述方法中,传感节点启动后处于活跃状态,传感节点获取控制器的地址后执行下述过程:
步骤201:开始;
步骤202:传感节点发送一个信标消息,该信标消息的源地址为该传感节点的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2以及控制器的地址;
步骤203:邻居传感节点或者控制器接收到该信标消息后,保存该信标消息负载中的控制器的地址,查看邻居表;如果存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,则执行步骤204,否则执行步骤205;
步骤204:接收到该信标消息的邻居传感节点或者控制器选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0,执行步骤206;
步骤205:接收到该信标消息的邻居传感节点或者控制器创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤206:结束。
传感节点通过上述过程建立邻居表从而获取邻居传感节点的状态以建立树状结构。
本发明所述方法中,控制器和传感节点建立邻居表后,控制器发起树状结构创建过程:
步骤301:开始;
步骤302:控制器选择一个邻居表项E1,在所有邻居表项中,邻居表项E1中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E1的地址,将邻居表项E1的关系域值设置为1;所述控制器查看邻居表,针对除了邻居表项E1之外的每个邻居表项,控制器执行下述操作:如果邻居表项E1中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤303:控制器选择一个邻居表项E2,邻居表项E2的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,邻居表项E2中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E2的地址,将邻居表项E2的关系域值设置为1;控制器查看邻居表,针对除了邻居表项E2之外的每个状态域值为2且关系域值为0的邻居表项,控制器执行下述操作:如果邻居表项E2中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤304:控制器查看邻居表,判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值为0,是则执行步骤303,否则执行步骤305;
步骤305:判断是否传感节点接收到休眠消息,是则执行步骤306,否则执行步骤307;
步骤306:接收到休眠消息的传感节点保存该休眠消息的源地址,选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后发送一个信标消息,该信标消息的源地址为该传感节点的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值0以及休眠时间T2,然后该传感节点转为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域等于该信标消息的源地址,将该邻居表项的状态域值设置为该信标消息负载中的状态值,关系域值设置为0,生命周期域值设置为n1×T2;执行步骤309;
步骤307:接收到构建树消息的传感节点保存该构建树消息的源地址;判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值等于0,是则执行步骤308,否则执行步骤309;
步骤308:接收到构建树消息的传感节点选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后选择一个邻居表项E3,邻居表项E3的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,控制器地址的坐标与邻居表项E3的地址域值的坐标的距离最大;该传感节点发送一个构建树消息,该构建树消息的源地址为自己的地址,目的地址为邻居表项E3中的地址域值,将邻居表项E3的关系域值设置为1;该传感节点查看邻居表,对于除了邻居表项E3以外的状态值为2且关系域值为0的每个邻居表项,该传感节点执行下述操作:传感节点发送一个休眠消息,该休眠消息的源地址为自己的地址,目的地址为该邻居表项中的地址域值,将该邻居表项的状态域值设置为0,执行步骤305;
步骤309:结束;
处于休眠状态的传感节点在休眠n1×T2后,转换为半休眠状态。
控制器通过上述过程建立一个树状结构,上述过程利用邻居表选择最优的邻居传感节点作为子节点,从而确保树状结构的稳定性;控制器选择子节点之后,将所有子节点的邻居节点设置为休眠状态从而有效节省了邻居传感节点的能源,提高了整个网络的生存时间;休眠节点会定期转换为半休眠状态以能够接收消息转变活跃状态的节点从而确保树状结构的稳定性。
本发明所述方法中,如果一个节点的状态从休眠状态转换为半休眠状态,它执行下述操作更新邻居表:
步骤401:开始;
步骤402:传感节点发送一个信标消息,该信标消息的源地址为传感节点自己的地址,目的地址为广播地址,负载为状态值1;
步骤403:邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1;
步骤404:结束;
如果半休眠状态的传感节点在n2×T1内没有接收到触发消息,n2为大于2的数,则发送一个信标消息,该信标消息的源地址为自己的地址,目的地址为广播地址,负载为状态值0和休眠时间T2,半休眠状态的传感节点转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0。
节点从休眠状态转换为半休眠状态后,通过上述过程更新自己的状态,从而确保邻居传感节点能够获取最新的状态信息,并向自己发送信息以确保树状结构的稳定性。如果传感节点处于活跃状态的时间超过预定值T3,则执行下述过程:
步骤501:开始;
步骤502:传感节点选择所有关系域值等于1的邻居表项,同时选择一个邻居表项E4,邻居表项E4的关系域值为0,且邻居表项E4地址域值的坐标与每个关系域值等于1的邻居表项中的地址域值的坐标的距离都小于传输半径R1;如果邻居表项E4的状态等于0,则该传感节点等待直到邻居表项E4的状态域值变为半休眠状态;该传感节点发送一个触发消息,该触发消息的源地址为所述传感节点自己的地址,目的地址为邻居表项E4的地址域值,负载为传感节点自己的邻居表以及休眠时间T2;
步骤503:该传感节点发送一个信标消息,该信标消息的源地址为所述传感节点自己的地址,目的地址为广播地址,负载为状态值0以及休眠时间T2,转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0;
步骤504:目的传感节点接收到触发消息后,将自己的邻居表更新为触发消息负载中的邻居表,在该邻居表中创建一个邻居表项,该邻居表项的地址域值等于该触发消息的源地址,状态域值为0,生命周期域值为n1×T2,关系域值为0;收到触发消息的传感节点从邻居表中删除一个邻居表项,该邻居表项的地址域值等于传感节点的地址,转变为活跃状态;收到触发消息的目的传感节点发送一个信标消息,该信标消息的源地址等于目的传感节点自己的地址,目的地址为广播地址,负载为状态值2;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值设置为1;
步骤505:结束。
上述过程为处于活跃状态的节点将自己转换为休眠状态,其目的是节省自己的能源,上述过程不仅有效维护了树状结构的拓扑,同时也有效增加了整个网络的生命周期以及稳定性。
如果一个邻居表项的生命周期过期,则从邻居表中删除该邻居表项;
如果处于半休眠状态的传感节点检测到一个关系域值为1的邻居表项的生命周期过期且没有接收到源地址域值等于该邻居表项的地址域值的新节点消息,该传感节点则查看自己的坐标与该邻居表项的地址域的坐标的距离是否小于阈值D1,域值D1一般为传输半径的70%;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离不小于阈值D1,则该传感节点删除该邻居表项;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离小于阈值D1,该传感节点则转变为活跃状态,删除该邻居表项,发送一个新节点消息,该新节点消息的源地址为自己的地址,目的地址为广播地址,负载为状态域值2;邻居传感节点接收到该新节点消息后,选择一个邻居表项,该邻居表项的地址域值等于该新节点消息的源地址,将该邻居表项的状态域值设置为该新节点消息负载中的状态域值,生命周期设置为n1×T1,关系域值设置为1。
如果关系域值为1的邻居传感节点失效,那么处于半休眠状态的传感节点将转变为活跃状态以确保树状拓扑结构的稳定性,同时删除失效的邻居传感节点以确保邻居传感节点信息的实时性和正确性。上述过程有效确保了物联网树状拓扑结构的稳定性,从而增强了通信的稳定性和连续性。
有益效果:本发明提供了一种高效的物联网构建方法,移动设备通过本发明提供的方法能够快速获取网络服务,提高网络的稳定性以及通信性能,从而降低通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立邻居表流程示意图。
图2为本发明所述的维护邻居表流程示意图。
图3为本发明所述的构建树状结构流程示意图。
图4为本发明所述的更新邻居表流程示意图。
图5为本发明所述的节点状体转换流程示意图。
具体实施方式:
本发明提供了一种高效的物联网构建方法,移动设备通过本发明提供的方法能够快速获取网络服务,提高网络的稳定性以及通信性能,从而降低通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。图1为本发明所述的建立邻居表流程示意图。所述物联网包括一个控制器和两个以上的传感节点,一个控制器和传感节点构成一个树状结构,该树状结构中,控制器为根节点;
一个控制器或者一个传感节点由一个地址唯一标识,该地址由硬件ID和坐标构成;一个控制器启动后,构建一个地址,该地址的硬件ID为零,坐标为控制器自己的地理坐标;一个传感节点启动后,构建一个地址,该地址的硬件ID为传感节点自己的硬件ID,坐标为自己的地理坐标;
一个传感节点有三种状态,休眠状态、半休眠状态和活跃状态;休眠状态的传感节点不接收任何消息;休眠状态的状态值为0;半休眠状态的传感节点只能接收信标消息、触发消息和新节点消息;半休眠状态的状态值为1;活跃状态的传感节点能接收任何消息;活跃状态的状态值为2;
每个控制器或者传感节点保存一个邻居表,每个邻居表项包含地址域、状态域、生命周期域和关系域;关系域值为0或者1;关系域值1表明该传感节点加入了树状结构,关系域值0表明该传感节点没有加入树状结构;
控制器、处于活跃状态和半休眠状态的传感节点定期发送信标消息,发送两个信标消息之间的时间间隔为T1;
物联网启动后,控制器和所有传感节点均处于活跃状态;控制器通过下述过程建立一个邻居表:
步骤101:开始;
步骤102:控制器发送一个信标消息,该信标消息的源地址为该控制器的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2;
步骤103:邻居传感节点接收到该信标消息后,保存该信标消息负载中的控制器的地址,查看邻居表,判断是否存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,则执行步骤104,否则执行步骤105;
步骤104:接收到该信标消息的邻居传感节点选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,n1为大于1的数字,关系域值为0;执行步骤106;
步骤105:接收到该信标消息的邻居传感节点创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤106:结束。
图2为本发明所述的维护邻居表流程示意图。传感节点启动后处于活跃状态,传感节点获取控制器的地址后执行下述过程:
步骤201:开始;
步骤202:传感节点发送一个信标消息,该信标消息的源地址为该控制器的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值2以及控制器的地址;
步骤203:邻居传感节点接收到该信标消息后,保存该信标消息负载中的控制器的地址,查看邻居表;如果存在一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,则执行步骤204,否则执行步骤205;
步骤204:接收到该信标消息的邻居传感节点选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0,执行步骤206;
步骤205:接收到该信标消息的邻居传感节点创建一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,该邻居传感节点将该邻居表项的状态域值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值为0;
步骤206:结束。
图3为本发明所述的构建树状结构流程示意图。控制器和传感节点建立邻居表后,控制器发起树状结构创建过程:
步骤301:开始;
步骤302:控制器选择一个邻居表项E1,在所有邻居表项中,邻居表项E1中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E1的地址,将邻居表项E1的关系域值设置为1;所述控制器查看邻居表,针对除了邻居表项E1之外的每个邻居表项,控制器执行下述操作:如果邻居表项E1中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤303:控制器选择一个邻居表项E2,邻居表项E2的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,邻居表项E2中的地址域的坐标与所述控制器的坐标的距离最近;控制器发送一个构建树消息,该构建树消息的源地址为该控制器的地址,目的地址为邻居表项E2的地址,将邻居表项E2的关系域值设置为1;控制器查看邻居表,针对除了邻居表项E2之外的每个状态域值为2且关系域值为0的邻居表项,控制器执行下述操作:如果邻居表项E2中的地址的坐标与该邻居表项的地址的坐标的距离小于传感节点的传输半径R1,则该控制器发送一个休眠消息,该休眠消息的源地址为该控制器的地址,目的地址为该邻居表项的地址,将该邻居表项的状态值设置为0;
步骤304:控制器查看邻居表,判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值为0,是则执行步骤303,否则执行步骤305;
步骤305:判断是否传感节点接收到休眠消息,是则执行步骤306,否则执行步骤307;
步骤306:接收到休眠消息的传感节点保存该休眠消息的源地址,选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后发送一个信标消息,该信标消息的源地址为该传感节点的地址,目的地址为广播地址,即地址的每个比特位都为1,负载为状态值0以及休眠时间T2,然后该传感节点转为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域等于该信标消息的源地址,将该邻居表项的状态域值设置为该信标消息负载中的状态值,关系域值设置为0,生命周期域值设置为n1×T2;执行步骤309;
步骤307:接收到构建树消息的传感节点保存该构建树消息的源地址;判断是否至少存在一个邻居表项,该邻居表项的状态值为2且关系域值等于0,是则执行步骤308,否则执行步骤309;
步骤308:接收到构建树消息的传感节点选择一个邻居表项,该邻居表项的地址域值等于该构建树消息的源地址,将该邻居表项的关系域值设置为1,然后选择一个邻居表项E3,邻居表项E3的状态值为2,关系域值为0,在所有状态值为2且关系域值为0的邻居表项中,控制器地址的坐标与邻居表项E3的地址域值的坐标的距离最大;该传感节点发送一个构建树消息,该构建树消息的源地址为自己的地址,目的地址为邻居表项E3中的地址域值,将邻居表项E3的关系域值设置为1;该传感节点查看邻居表,对于除了邻居表项E3以外的状态值为2且关系域值为0的每个邻居表项,该传感节点执行下述操作:传感节点发送一个休眠消息,该休眠消息的源地址为自己的地址,目的地址为该邻居表项中的地址域值,将该邻居表项的状态域值设置为0,执行步骤305;
步骤309:结束;
处于休眠状态的传感节点在休眠n1×T2后,转换为半休眠状态。
图4为本发明所述的更新邻居表流程示意图。如果一个节点的状态从休眠状态转换为半休眠状态,它执行下述操作更新邻居表:
步骤401:开始;
步骤402:传感节点发送一个信标消息,该信标消息的源地址为传感节点自己的地址,目的地址为广播地址,负载为状态值1;
步骤403:邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1;
步骤404:结束;
如果半休眠状态的传感节点在n2×T1内没有接收到触发消息,n2为大于2的数,则发送一个信标消息,该信标消息的源地址为自己的地址,目的地址为广播地址,负载为状态值0和休眠时间T2,半休眠状态的传感节点转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,然后将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0。
图5为本发明所述的节点状体转换流程示意图。如果传感节点处于活跃状态的时间超过预定值T3,则执行下述过程:
步骤501:开始;
步骤502:传感节点选择所有关系域值等于1的邻居表项,同时选择一个邻居表项E4,邻居表项E4的关系域值为0,且邻居表项E4地址域值的坐标与每个关系域值等于1的邻居表项中的地址域值的坐标的距离都小于传输半径R1;如果邻居表项E4的状态等于0,则该传感节点等待直到邻居表项E4的状态域值变为半休眠状态;该传感节点发送一个触发消息,该触发消息的源地址为所述传感节点自己的地址,目的地址为邻居表项E4的地址域值,负载为传感节点自己的邻居表以及休眠时间T2;
步骤503:该传感节点发送一个信标消息,该信标消息的源地址为所述传感节点自己的地址,目的地址为广播地址,负载为状态值0以及休眠时间T2,转换为休眠状态;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为信标消息负载中的状态值,生命周期设置为n1×T2,关系域值设置为0;
步骤504:传感节点接收到触发消息后,将自己的邻居表更新为触发消息负载中的邻居表,在该邻居表中创建一个邻居表项,该邻居表项的地址域值等于该触发消息的源地址,状态域值为0,生命周期域值为n1×T2,关系域值为0;收到触发消息的传感节点从邻居表中删除一个邻居表项,该邻居表项的地址域值等于该传感节点的地址,转变为活跃状态;该传感节点发送一个信标消息,该信标消息的源地址等于自己的地址,目的地址为广播地址,负载为状态值2;邻居传感节点接收到该信标消息后,选择一个邻居表项,该邻居表项的地址域值等于该信标消息的源地址,将该邻居表项的状态值设置为该信标消息负载中的状态值,生命周期设置为n1×T1,关系域值设置为1;
步骤505:结束。
如果一个邻居表项的生命周期过期,则从邻居表中删除该邻居表项;
如果处于半休眠状态的传感节点检测到一个关系域值为1的邻居表项的生命周期过期且没有接收到源地址域值等于该邻居表项的地址域值的新节点消息,该传感节点则查看自己的坐标与该邻居表项的地址域的坐标的距离是否小于阈值D1;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离不小于阈值D1,则该传感节点删除该邻居表项;如果该传感节点的坐标与该邻居表项的地址域的坐标的距离小于阈值D1,该传感节点则转变为活跃状态,删除该邻居表项,发送一个新节点消息,该新节点消息的源地址为自己的地址,目的地址为广播地址,负载为状态域值2;邻居传感节点接收到该新节点消息后,选择一个邻居表项,该邻居表项的地址域值等于该新节点消息的源地址,将该邻居表项的状态域值设置为该新节点消息负载中的状态域值,生命周期设置为n1×T1,关系域值设置为1。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种高效的物联网构建方法,网络启动后,控制器执行步骤101-106建立邻居表,传感节点执行步骤201-206建立邻居表,然后控制器执行步骤301-309建立树状结构,节点如果从休眠状态改为半休眠状态改变,则执行步骤401-404更新邻居表,节点如果从活跃状态改为休眠状态,则执行步骤501-505更新邻居表以维护树状结构的稳定性,性能分析如下:当节点数量增加时,网络构建延迟有所增加,当节点数量降低时,网络构建延迟有所降低,数据获取的平均延迟为750ms。
表1仿真参数
本发明提供了一种高效的物联网构建方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种物联网构建方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0