1.一种下一代传感网通信系统的实现方法,其特征在于,所述下一代传感网包括一个中心控制器,两个以上的本地控制器以及传感节点;所属传感节点分为固定传感节点和移动传感节点;中心控制器和本地控制器是路由器,中心控制器用于管理本地控制器,本地控制器用于管理传感节点;
所属中心控制器配置两个以上的有线接口,一个有线接口由一个接口ID唯一标识,每个有线接口与一个本地控制器链路相连;一个本地控制器配置一个有线接口和一个无线接口,有线接口与中心控制器链路相连,无线接口与固定传感节点链路相连;固定传感节点和移动传感节点配置一个无线接口;
传感节点或者本地控制器由地址唯一标识,地址由本地前缀、固定前缀和移动前缀构成;本地控制器地址的固定前缀和移动前缀均为0,固定传感节点地址的移动前缀为0;
每个固定传感节点保存一个上游表,每个上游表项包含本地地址域、上游地址域、距离域和生命周期域;其中本地地址域保存本地控制器的地址,上游地址域保存上游节点的地址,距离域值为到达本地控制器的跳数,生命周期为该上游表项的有效时间;
本地控制器LC1启动后,定期执行下述操作建立上游表:
步骤101:开始;
步骤102:本地控制器LC1构建一个地址,该地址的本地前缀为本地控制器LC1的硬件ID,固定前缀和移动前缀均为0,设置参数d1,参数d1的初始值为0,从无线接口发送一个发布消息,该发布消息的源地址为构建的地址,目的地址为广播地址,即每个比特位均为1的地址,负载为参数d1和构建的地址;
步骤103:判断是移动传感节点还是固定移动节点接收到发布消息,如果是移动传感节点则执行步骤104,否则执行步骤105;
步骤104:接收到发布消息的移动传感节点丢弃该发布消息,执行步骤112;
步骤105:固定移动节点接收到发布消息后,将发布消息负载中的参数d1递增1并查看上游表,判断是否存在一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址且距离域值小于发布消息负载中的参数d1,是则执行步骤106,否则执行步骤107;
步骤106:接收到发布消息的固定传感节点丢弃该发布消息,执行步骤112;
步骤107:固定移动节点接收到发布消息后,查看上游表,判断是否存在一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址,距离域值等于发布消息负载中的参数d1且上游地址域值等于该发布消息的源地址,是则执行步骤106,否则执行步骤108;
步骤108:固定移动节点接收到发布消息后,查看上游表,判断是否存在一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址,距离域值等于发布消息负载中的参数d1且上游地址域值不等于该发布消息的源地址,是则执行步骤109,否则执行步骤110;
步骤109:接收到发布消息的固定移动节点创建一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址,距离域值等于发布消息负载中的参数d1,上游地址域值等于该发布消息的源地址,生命周期设置为最大值;所述固定移动节点构建一个地址,该地址的本地前缀和移动前缀为0,固定前缀等于定移动节点自己的硬件ID,将接收到的发布消息的源地址更新为构建的地址,转发该发布消息,执行步骤103;
步骤110:接收到发布消息的固定移动节点查看上游表;判断是否存在一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址,距离域值大于发布消息负载中的参数d1,是则执行步骤111,否则执行步骤109;
步骤111:接收到发布消息的固定移动节点选择一个上游表项,该上游表项的本地地址等于该发布消息负载中的地址且距离域值大于发布消息负载中的参数d1,将该上游表项的上游地址更新为该发布消息的源地址,距离域值更新为发布消息负载中的参数d1,生命周期设置为最大值;所述固定移动节点构建一个地址,该地址的本地前缀和移动前缀为0,固定前缀等于固定移动节点自己的硬件ID,将接收到的发布消息的源地址更新为构建的地址,转发该发布消息,执行步骤103;
步骤112:结束;
如果固定传感节点检测到一个上游表项的生命周期衰减为0,则删除该上游表项。
2.根据权利要求1所述的一种下一代传感网通信系统的实现方法,其特征在于,中心控制器保存一个本地表,一个本地表项包含接口ID域、本地地址域和生命周期域;
本地控制器LC1启动后,定期执行下述操作建立本地表:
步骤201:开始;
步骤202:本地控制器LC1创建一个地址,该地址的本地前缀为自己的硬件ID,固定前缀和移动前缀均为0,本地控制器LC1从自己的有线接口发送一个本地发布消息,该本地发布消息的源地址为构建的地址,目的地址为空,负载为空;
步骤203:中心控制器从接口f1接收到本地发布消息后,查看本地表,判断是否存在一个本地表项,该本地表项的接口ID等于f1,是则将该本地表项的本地地址更新为该本地发布消息的源地址,将生命周期设置为最大值;否则,中心控制器创建一个本地表项,该本地表项的接口ID等于f1,本地地址为该本地发布消息的源地址,将生命周期设置为最大值;
步骤204:结束;
如果中心控制器检测到一个本地表项的生命周期衰减为0,则删除该本地表项。
3.根据权利要求2所述的一种下一代传感网通信系统的实现方法,其特征在于,固定传感节点定期发送信标消息,该信标消息的源地址为自己的地址,该地址的本地前缀和移动前缀均为0,固定前缀为自己的硬件ID,该信标消息的目的地址为广播地址,负载为该固定传感节点的上游表;
每个本地控制器保存一个路径表,每个路径表项包含一个地址集合域和生命周期域;
如果固定传感节点FN1接收到所有邻居固定传感节点的信标消息,则将自己的上游表与所有信标消息负载中的上游表进行对比;如果固定传感节点FN1存在一个上游表项E1,该上游表项的本地地址域值为LA1且距离域值不大于所有其他上游表中本地地址域值为LA1的上游表项的距离域值,则固定传感节点FN1执行下述操作建立路径表:步骤301:开始;
步骤302:固定传感节点FN1从自己的上游表选择所有本地地址域值为LA1的上游表项;
针对每个选中的上游表项,固定传感节点FN1构建一个地址FA1,地址FA1中的本地前缀等于地址LA1中的本地前缀,固定前缀为自己的硬件ID,移动前缀为0,设置一个地址集合变量A1,地址集合变量A1的初始值为{FA1};固定传感节点FN1发送一个路径消息,该路径消息的源地址为地址FA1,目的地址为选中的上游表项的上游地址,负载为地址LA1和地址集合参数A1;
步骤303:判断是目的本地控制器还是目的固定传感节点接收到该路径消息,即地址等于LA1的本地控制器,如果是目的本地控制器则执行步骤305,否则执行步骤304;
步骤304:硬件ID等于该路径消息目的地址的固定前缀的目的固定传感节点接收到该路径消息后,构建一个地址,该地址的本地前缀为地址LA1的本地前缀,固定前缀等于自己的硬件ID,移动前缀为0;将构建的地址加入到路径消息负载中的参数A1中并作为最后一个元素;目的固定传感节点从自己的上游表选择所有本地地址域值为LA1的上游表项,针对每个选中的上游表项,目的固定传感节点将该路径消息的目的地址更新为该上游表项的上游地址,转发该路径消息,执行步骤303;
步骤305:目的本地控制器接收到该路径消息后,将自己的地址加入到路径消息负载中的参数A1中并作为最后一个元素;目的本地控制器查看路径表,判断是否存在一个路径表项,该路径表项的地址集合域值等于该路径消息负载中的参数A1,是则将该路径表项的生命周期设置为最大值;否则,目的本地控制器创建一个路径表项,该路径表项的地址集合域值等于该路径消息负载中的参数A1,将生命周期设置为最大值;
步骤306:结束。
4.根据权利要求2所述的一种下一代传感网通信系统的实现方法,其特征在于,在移动传感节点MN1与固定传感节点FN1链路相连,地址为MA1,地址MA1的本地前缀为本地控制器LC1的硬件ID,本地控制器LC1的地址为LA1,固定前缀等于固定传感节点FN1的硬件ID,移动传感节点MN2与固定传感节点FN2链路相连,地址为MA2,地址MA2的本地前缀为本地控制器LC2的硬件ID,本地控制器LC2的地址为LA2,地址MA2的固定前缀为固定传感节点FN2的硬件ID的条件下,如果满足条件1,移动传感节点MN1执行下述过程实现与移动传感节点MN2的通信;条件1:在固定传感节点FN1的上游表中,至少存在一个上游表项,该上游表项的本地地址为LA2,且在固定传感节点FN2的上游表中,至少存在一个上游表项,该上游表项的本地地址为LA1;
步骤401:开始;
步骤402:移动传感节点MN1发送一个请求消息,该请求消息的源地址为MA1,目的地址为固定传感节点FN1的地址,固定传感节点FN1地址的本地前缀为0,固定前缀为固定传感节点FN1的硬件ID,移动前缀为0,该请求消息的负载为地址MA2;固定传感节点FN1接收到请求消息后,选择所有本地地址的本地前缀等于地址MA2的本地前缀的上游表项,针对每个选中的上游表项,固定传感节点FN1将该请求消息的目的地址更新为该上游表项的上游地址,转发该请求消息;
步骤403:如果目的本地控制器接收到该请求消息,则执行步骤405,否则执行步骤404;
其中,目的本地控制器为硬件ID等于该请求消息目的地址的本地前缀的本地控制器;
步骤404:目的固定传感节点接收到请求消息后,目的固定传感节点的硬件ID等于该请求消息的目的地址的固定前缀,选择所有本地地址的本地前缀等于地址MA2的本地前缀的上游表项,针对每个选中的上游表项,目的固定传感节点将该请求消息的目的地址更新为该上游表项的上游地址,转发该请求消息,执行步骤403;
步骤405:目的本地控制器从无线接口接收到该请求消息后,选择所有满足条件2的路径表项;对于每个选中的路径表项,目的本地控制器提取一个地址子集,该地址子集等于该路径表项的地址集合中从地址CA1到最后一个元素之间的所有元素,地址子集的元素顺序与该路径表项的地址集合的元素顺序相同,目的本地控制器将提取的地址子集加入到该请求消息负载中,将该请求消息的目的地址更新为该地址子集的最后一个元素,从该请求消息负载中的地址子集中删除最后一个元素,转发该请求消息;
条件2:地址集合域值包含地址CA1,地址CA1的本地前缀和固定前缀等于地址MA2的本地前缀和固定前缀,移动前缀为0;
步骤406:判断是移动传感节点MN2还是目的固定传感节点接收到请求消息,如果是移动传感节点MN2则执行步骤408,否则执行步骤407;
步骤407:目的固定传感节点判断该请求消息负载中的子集是否为空,如果是,该目的固定传感节点将该请求消息的目的地址更新为地址MA2,转发该请求消息;否则,该目的固定传感节点将该请求消息的目的地址更新为该请求消息负载中的地址子集的最后一个元素,从该地址子集中删除最后一个元素,转发该请求消息,执行步骤406;
步骤408:移动传感节点MN2发送一个响应消息,该响应消息的源地址为地址MA2,目的地址为固定传感节点FN2的地址,该地址的本地前缀和移动前缀为0,固定前缀为固定传感节点FN2的硬件ID,负载为地址MA1和响应数据;固定传感节点FN2接收到响应消息后,选择所有本地地址的本地前缀等于地址MA1的本地前缀的上游表项,针对每个选中的上游表项,固定传感节点FN2将该响应消息的目的地址更新为该上游表项的上游地址,转发该响应消息;
步骤409:如果目的本地控制器接收到该响应消息,则执行步骤411,否则执行步骤410;
其中,目的本地控制器的硬件ID等于该响应消息目的地址的本地前缀;
步骤410:目的固定传感节点接收到响应消息后,选择所有本地地址的本地前缀等于地址MA1的本地前缀的上游表项,针对每个选中的上游表项,目的固定传感节点将该响应消息的目的地址更新为该上游表项的上游地址,转发该响应消息,执行步骤409;其中,目的固定传感节点的硬件ID等于该响应消息的目的地址的固定前缀;
步骤411:目的本地控制器从无线接口接收到该响应消息后,选择所有满足条件3的路径表项;对于每个选中的路径表项,目的本地控制器提取一个地址子集,该地址子集等于该路径表项的地址集合中从地址CA2到最后一个元素之间的所有元素,地址子集的元素顺序与该路径表项的地址集合的元素顺序相同,目的本地控制器将提取的地址子集加入到该响应消息负载中,将该响应消息的目的地址更新为该地址子集的最后一个元素,从该响应消息负载中的地址子集中删除最后一个元素,从无线接口转发该响应消息;
条件3:地址集合域值包含地址CA2,地址CA2的本地前缀和固定前缀等于地址MA1的本地前缀和固定前缀,移动前缀为0;
步骤412:判断是移动传感节点MN1还是目的固定传感节点接收到响应消息,是移动传感节点MN1则执行步骤414,否则执行步骤413;
步骤413:目的固定传感节点接收到响应消息后,判断该响应消息负载中的子集是否为空,如果是,该目的固定传感节点将该响应消息的目的地址更新为地址MA1,转发该响应消息;否则,该目的固定传感节点将该响应消息的目的地址更新为该响应消息负载中的地址子集的最后一个元素,从该地址子集中删除最后一个元素,转发该响应消息,执行步骤412;
步骤414:移动传感节点MN1接收到响应消息后,保存该响应消息负载中的数据;
步骤415:结束。
5.根据权利要求4所述的一种下一代传感网通信系统的实现方法,其特征在于,在移动传感节点MN1与固定传感节点FN1链路相连,地址为MA1,地址MA1的本地前缀为本地控制器LC1的硬件ID,本地控制器LC1的地址为LA1,固定前缀等于固定传感节点FN1的硬件ID,移动传感节点MN2与固定传感节点FN2链路相连,地址为MA2,地址MA2的本地前缀为本地控制器LC2的硬件ID,本地控制器LC2的地址为LA2,地址MA2的固定前缀为固定传感节点FN2的硬件ID的条件下,如果不满足条件1,移动传感节点MN1执行下述过程实现与移动传感节点MN2的通信:步骤501:开始;
步骤502:移动传感节点MN1发送一个请求消息,该请求消息的源地址为MA1,目的地址为固定传感节点FN1的地址,固定传感节点FN1地址的本地前缀为0,固定前缀为固定传感节点FN1的硬件ID,移动前缀为0,该请求消息的负载为地址MA2;固定传感节点FN1接收到请求消息后,选择所有距离域值最小的上游表项,针对每个选中的上游表项,固定传感节点FN1将该请求消息的目的地址更新为该上游表项的上游地址,转发该请求消息;
步骤503:如果目的本地控制器接收到该请求消息,则执行步骤505,否则执行步骤504;
其中,目的本地控制器为硬件ID等于该请求消息目的地址的本地前缀的本地控制器;
步骤504:目的固定传感节点接收到请求消息后,目的固定传感节点的硬件ID等于该请求消息的目的地址的固定前缀,选择所有距离域值最小的上游表项,针对每个选中的上游表项,目的固定传感节点将该请求消息的目的地址更新为该上游表项的上游地址,转发该请求消息,执行步骤503;
步骤505:目的本地控制器从无线接口接收到该请求消息后,从有线接口转发该请求消息,中心控制器接收到该请求消息后,选择一个本地表项,该本地表项的本地地址的本地前缀等于地址MA2的本地前缀,从该本地表项的接口ID域值所标识的接口转发该请求消息;本地控制器从有线接口接收到该请求消息后,选择所有满足条件2的路径表项;对于每个选中的路径表项,该本地控制器提取一个地址子集,该地址子集等于该路径表项的地址集合中从地址CA1到最后一个元素之间的所有元素,地址子集的元素顺序与该路径表项的地址集合的元素顺序相同,该本地控制器将提取的地址子集加入到该请求消息负载中,将该请求消息的目的地址更新为该地址子集的最后一个元素,从该请求消息负载中的地址子集中删除最后一个元素,转发该请求消息;
步骤506:判断是移动传感节点MN2还是目的固定传感节点接收到请求消息,如果是移动传感节点MN2则执行步骤508,否则执行步骤507;
步骤507:目的固定传感节点判断该请求消息负载中的子集是否为空,如果是,该目的固定传感节点将该请求消息的目的地址更新为地址MA2,转发该请求消息;否则,该目的固定传感节点将该请求消息的目的地址更新为该请求消息负载中的地址子集的最后一个元素,从该地址子集中删除最后一个元素,转发该请求消息,执行步骤506;
步骤508:移动传感节点MN2发送一个响应消息,该响应消息的源地址为地址MA2,目的地址为固定传感节点FN2的地址,该地址的本地前缀和移动前缀为0,固定前缀为固定传感节点FN2的硬件ID,负载为地址MA1和响应数据;固定传感节点FN2接收到响应消息后,选择所有距离域值最小的上游表项,针对每个选中的上游表项,固定传感节点FN2将该响应消息的目的地址更新为该上游表项的上游地址,转发该响应消息;
步骤509:如果目的本地控制器接收到该响应消息,则执行步骤511,否则执行步骤510;
步骤510:目的固定传感节点接收到响应消息后,选择所有距离域值最小的上游表项,针对每个选中的上游表项,目的固定传感节点将该响应消息的目的地址更新为该上游表项的上游地址,转发该响应消息,执行步骤509;其中,目的固定传感节点为硬件ID等于该响应消息的目的地址的固定前缀的固定传感器,步骤511:目的本地控制器从无线接口接收到该响应消息后,从有线接口转发该响应消息,中心控制器接收到该响应消息后,选择一个本地表项,该本地表项的本地地址的本地前缀等于地址MA1的本地前缀,从该本地表项的接口ID域值所标识的接口转发该请求消息;本地控制器从有线接口接收到该请求消息后,选择所有满足条件3的路径表项;对于每个选中的路径表项,该本地控制器提取一个地址子集,该地址子集等于该路径表项的地址集合中从地址CA2到最后一个元素之间的所有元素,地址子集的元素顺序与该路径表项的地址集合的元素顺序相同,该本地控制器将提取的地址子集加入到该响应消息负载中,将该响应消息的目的地址更新为该地址子集的最后一个元素,从该响应消息负载中的地址子集中删除最后一个元素,从无线接口转发该响应消息;
步骤512:判断是移动传感节点MN1还是目的固定传感节点接收到响应消息,如果是移动传感节点MN1则执行步骤514,否则执行步骤513;
步骤513:目的固定传感节点接收到响应消息后,判断该响应消息负载中的子集是否为空,如果是,该目的固定传感节点将该响应消息的目的地址更新为地址MA1,转发该响应消息;否则,该目的固定传感节点将该响应消息的目的地址更新为该响应消息负载中的地址子集的最后一个元素,从该地址子集中删除最后一个元素,转发该响应消息,执行步骤512;
步骤514:移动传感节点MN1接收到响应消息后,保存该响应消息负载中的数据;
步骤515:结束。