利索能及
我要发布
收藏
专利号: 2018102351316
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种高效的传感网络地址配置方法,其特征在于,所述网络包括传感网络和用户网络,传感网络包括接入节点和传感节点,用户网络包括接入节点和用户设备;传感节点与接入节点之间多跳可达,用户设备与接入节点之间多跳可达;传感节点、接入节点以及用户设备具有唯一的坐标,并配置一个无线接口;

网络中的一种数据由名称唯一标识,一个名称由坐标和名称ID构成;一个传感网络包括两个以上的接入节点,一个用户网络包含两个以上的接入节点;

用户设备通过消息与传感节点实现通信,一个消息包含名称、版本号、消息类型、源坐标集合、目的坐标集合和负载;一个接入节点维护一个接入节点表,每个接入节点表项包含坐标域,坐标集合和生命周期;

消息类型如下表所示:

消息类型值 消息名称

1 外部发布消息

2 内部发布消息

3 发布消息

4 请求消息

5 响应消息

6 更新消息

接入节点启动后,定期执行下述操作更新接入节点表:

步骤101:开始;

步骤102:接入节点发送外部发布消息,该外部发布消息中,名称域值中的坐标等于该接入节点的坐标,名称域值中的名称ID为0,版本号为0,消息类型为1,源坐标集合包含一个元素,该元素为该接入节点的坐标,目的坐标集合为空,负载为空;

步骤103:如果一个传感节点或者用户设备接收到该外部发布消息,则执行步骤104,否则执行步骤105;

步骤104:接收到该外部发布消息的传感节点或者用户设备丢弃该外部发布消息,执行步骤111;

步骤105:接入节点接收到该外部发布消息后,查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该外部发布消息名称中的坐标,坐标集合等于该外部发布消息的源坐标集合,且生命周期大于预定值T0,则执行步骤111,否则执行步骤106;

步骤106:接入节点接收到该外部发布消息后,查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该外部发布消息名称中的坐标,坐标集合等于该外部发布消息的源坐标集合,且生命周期等于或者小于预定值T0,则将该接入节点表项的生命周期设置为最大值,并执行步骤110,否则执行步骤107;

步骤107:接入节点接收到该外部发布消息后,查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该外部发布消息名称中的坐标,且坐标集合的元素个数小于或者等于该外部发布消息的源坐标集合的元素个数,则执行步骤111,否则执行步骤

108;

步骤108:接入节点接收到该外部发布消息后,查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该外部发布消息名称中的坐标,且坐标集合的元素个数大于该外部发布消息的源坐标集合的元素个数,则将该接入节点表项的坐标集合更新为该外部发布消息的源坐标集合,将该接入节点表项的生命周期设置为最大值,执行步骤

110,否则执行步骤109;

步骤109:接入节点创建一个接入节点表项,该接入节点表项的坐标等于该外部发布消息名称中的坐标,坐标集合等于该外部发布消息的源坐标集合,生命周期设置为最大值;

步骤110:接收到外部发布消息的接入节点将自己的坐标加入到该外部发布消息的源坐标集合中,且该坐标作为源坐标集合的第一个元素,转发该外部发布消息,执行步骤103;

步骤111:结束。

2.根据权利要求1所述的一种高效的传感网络地址配置方法,其特征在于,传感节点和用户节点各自维护一个接入节点表,每个接入节点表项包含坐标域、坐标集合和生命周期;

接入节点启动后,定期执行下述操作更新接入节点表:

步骤201:开始;

步骤202:接入节点发送内部发布消息,该内部发布消息中,名称域值中的坐标等于该接入节点的坐标,名称域值中的名称ID为0,版本号为0,消息类型为2,源坐标集合包含一个元素,该元素为该接入节点的坐标,目的坐标集合为空,负载为空;

步骤203:判断是否接入节点接收到该内部发布消息,是则执行步骤204,否则执行步骤

205;

步骤204:接收到该内部发布消息的接入节点丢弃该内部发布消息,执行步骤211;

步骤205:传感节点或者用户设备接收到该内部发布消息后,查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该内部发布消息名称中的坐标,坐标集合等于该内部发布消息的源坐标集合,且生命周期大于预定值T1,则执行步骤211,否则执行步骤206;

步骤206:传感节点或者用户设备查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该内部发布消息名称中的坐标,坐标集合等于该内部发布消息的源坐标集合,且生命周期小于等于预定值T1,则将该接入节点表项的生命周期设置为最大值,并执行步骤210,否则执行步骤207;

步骤207:传感节点或者用户设备查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该内部发布消息名称中的坐标,且坐标集合的元素个数小于等于该内部发布消息的源坐标集合的元素个数,则执行步骤211,否则执行步骤208;

步骤208:传感节点或者用户设备查看接入节点表,如果存在一个接入节点表项,该接入节点表项的坐标等于该内部发布消息名称中的坐标,且坐标集合的元素个数大于该内部发布消息的源坐标集合的元素个数,则将该接入节点表项的坐标集合更新为该内部发布消息的源坐标集合,将该接入节点表项的生命周期设置为最大值,执行步骤210,否则执行步骤209;

步骤209:传感节点或者用户设备创建一个接入节点表项,该接入节点表项的坐标等于该内部发布消息名称中的坐标,坐标集合等于该内部发布消息的源坐标集合,生命周期设置为最大值;

步骤210:接收到内部发布消息的传感节点或者用户设备将自己的坐标加入到该内部发布消息的源坐标集合中,且该坐标作为源坐标集合的第一个元素,转发该内部发布消息,执行步骤203;

步骤211:结束。

3.根据权利要求2所述的一种高效的传感网络地址配置方法,其特征在于,每一种数据具有一个版本号,最新的版本号数值大于上一个版本号数值;

一个传感节点维护一个数据表,每个数据表项包含名称、版本号和数据值;

一个接入节点保存一个索引表,一个索引表项包含名称、版本号和坐标集合;

在数据C1由名称NA1唯一标识,版本号为V1的条件下,如果传感节点SN1产生了数据C1,则创建一个数据表项,该数据表项的名称为NA1,版本号为V1,数据值为数据C1,然后传感节点SN1执行下述操作建立索引表:步骤301:开始;

步骤302:传感节点SN1查看接入节点表,选择一个接入节点表项,该接入节点表项的坐标与传感节点SN1的坐标距离最近,传感节点SN1发送一个发布消息,该发布消息的名称域值为NA1,版本号为V1,消息类型为3,源坐标集合包含一个元素,该元素为该传感节点SN1的坐标,目的坐标集合等于选中的接入节点表项的坐标集合,负载为空;

步骤303:判断是否接入节点接收到该发布消息,是则执行步骤307,否则执行步骤304;

步骤304:传感节点判断自己的坐标是否等于该发布消息目的坐标集合中的第一个元素,如果等于,则执行步骤306,否则执行步骤305;

步骤305:传感节点丢弃该发布消息,执行步骤318;

步骤306:传感节点从该发布消息的目的坐标集合中删除第一个元素,将自己的坐标加入到该发布消息的源坐标集合中且作为该源坐标集合的第一个元素,转发该发布消息,执行步骤303;

步骤307:接收到发布消息的接入节点判断自己的坐标是否等于该发布消息目的坐标集合中的第一个元素,如果等于,则执行步骤309,否则执行步骤308;

步骤308:接入节点丢弃该发布消息,执行步骤318;

步骤309:接入节点查看索引表,如果存在一个索引表项,该索引表项的名称和版本号等于该发布消息的名称和版本号,且坐标集合等于该发布消息的源坐标集合,执行步骤

310,否则执行步骤311;

步骤310:接入节点选择该索引表项并将该索引表项的生命周期设置为最大值,执行步骤318;

步骤311:接入节点查看索引表,如果存在一个索引表项,该索引表项的名称和版本号等于该发布消息的名称和版本号,且坐标集合中的元素个数大于该发布消息的源坐标集合中的元素个数,执行步骤312,否则执行步骤313;

步骤312:接入节点选择该索引表项并将该索引表项的坐标集合更新为该发布消息的源坐标集合,将该索引坐标的生命周期设置为最大值,执行步骤318;

步骤313:接入节点查看索引表,如果存在一个索引表项,该索引表项的名称和版本号等于该发布消息的名称和版本号,且坐标集合中的元素个数小于或者等于该发布消息的源坐标集合中的元素个数,则执行步骤308,否则执行步骤314;

步骤314:接入节点查看索引表,如果存在一个索引表项,该索引表项的名称等于该发布消息的名称且该索引表项的版本号小于该发布消息的版本号,则执行步骤315,否则执行步骤316;

步骤315:接入节点选择该索引表项并将该索引表项的版本号更新为该发布消息的版本号,坐标集合更新为该发布消息的源坐标集合,生命周期设置为最大值,执行步骤318;

步骤316:接入节点查看索引表,如果存在一个索引表项,该索引表项的名称等于该发布消息的名称且该索引表项的版本号大于该发布消息的版本号,则执行步骤308,否则执行步骤317;

步骤317:接入节点创建一个索引表项,该索引表项的名称和版本号等于该发布消息的名称和版本号,且坐标集合等于该发布消息的源坐标集合,生命周期设置为最大值;

步骤318:结束。

4.根据权利要求1所述的一种高效的传感网络地址配置方法,其特征在于,在数据C1由名称NA1唯一标识,版本号为V1,接入节点维护一个消息表,一个消息表项包含名称,版本号和坐标集合的条件下,用户设备D1执行下述过程获取数据C1:步骤401:开始;

步骤402:用户设备D1查看接入节点表,选择一个接入节点表项,该接入节点表项的坐标与自己的坐标距离最近,发送一个请求消息,该请求消息的名称域值为NA1,版本号为V1,消息类型为4,源坐标集合包含一个元素,该元素为该用户设备D1的坐标,目的坐标集合等于选中的接入节点表项的坐标集合,负载为空;

步骤403:判断是否接入节点接收到该请求消息,是则执行步骤407,否则执行步骤404;

步骤404:接收到请求消息的用户设备判断自己的坐标是否等于该请求消息目的坐标集合中的第一个元素,如果等于,则执行步骤406,否则执行步骤405;

步骤405:用户设备丢弃该请求消息,执行步骤432;

步骤406:用户设备从该请求消息的目的坐标集合中删除第一个元素,将自己的坐标加入到该请求消息的源坐标集合中且作为该源坐标集合的第一个元素,转发该请求消息,执行步骤403;

步骤407:接收到请求消息的接入节点判断自己的坐标是否等于该请求消息目的坐标集合中的第一个元素,如果等于,则执行步骤409,否则执行步骤408;

步骤408:接入节点丢弃该请求消息,执行步骤432;

步骤409:接入节点查看消息表,如果存在一个消息表项,该消息表项的名称和版本号等于该请求消息的名称和版本号,且坐标集合等于该请求消息的源坐标集合,则执行步骤

423;否则执行步骤410;

步骤410:接入节点创建一个消息表项,该消息表项的名称和版本号等于该请求消息的名称和版本号,且坐标集合等于该请求消息的源坐标集合;如果只有一个消息表项的名称和版本号等于该请求消息的名称和版本号,则执行步骤411,否则执行步骤423;

步骤411:接入节点从该请求消息的目的坐标集合中删除第一个元素,将自己的坐标加入到该请求消息的源坐标集合中且作为该源坐标集合的第一个元素,该接入节点查看接入节点表,选择一个接入节点表项,该接入节点表项的坐标与该请求消息名称中的坐标距离最近,将该请求消息的目的坐标集合更新为该接入节点表项的坐标集合,转发该请求消息;

步骤412:接入节点判断自己的坐标是否等于该请求消息目的坐标集合中的第一个元素,如果等于,则执行步骤413,否则执行步骤408;

步骤413:接入节点查看消息表,如果存在一个消息表项,该消息表项的名称和版本号等于该请求消息的名称和版本号,且坐标集合等于该请求消息的源坐标集合,则执行步骤

423;否则执行步骤414;

步骤414:接入节点创建一个消息表项,该消息表项的名称和版本号等于该请求消息的名称和版本号,且坐标集合等于该请求消息的源坐标集合;如果只有一个消息表项的名称和版本号等于该请求消息的名称和版本号,则执行步骤415,否则执行步骤423;

步骤415:接入节点从该请求消息的目的坐标集合中删除第一个元素,将自己的坐标加入到该请求消息的源坐标集合中且作为该源坐标集合的第一个元素,如果该请求消息的目的坐标集合为空,则执行步骤417,否则执行步骤416;

步骤416:接入节点转发该请求消息,执行步骤412;

步骤417:接入节点选择一个索引表项,该索引表项的名称和版本号分别等于该请求消息的名称和版本号,将该请求消息的目的坐标集合更新为该索引表项的坐标集合,转发该请求消息;

步骤418:接收到请求消息的传感节点判断自己的坐标是否等于该请求消息目的坐标集合中的第一个元素,如果等于,则执行步骤420,否则执行步骤419;

步骤419:传感节点丢弃该请求消息,执行步骤432;

步骤420:传感节点从该请求消息的目的坐标集合中删除第一个元素,如果该请求消息的目的坐标集合为空,则执行步骤422,否则执行步骤421;

步骤421:传感节点将自己的坐标加入到该请求消息的源坐标集合中且作为该源坐标集合的第一个元素,转发该请求消息,执行步骤418;

步骤422:传感节点查看数据表,选择一个数据表项,该数据表项的名称和版本号等于该请求消息的名称和版本号,发送一个响应消息,该响应消息的名称和版本号等于接收到的请求消息的名称和版本号,消息类型为5,源坐标集合为空,目的坐标集合等于接收到的请求消息的源坐标集合,负载为该数据表项的数据值;

步骤423:传感节点、接入节点或者用户设备接收到该响应消息后,判断自己的坐标是否等于该响应消息目的坐标集合中的第一个元素,如果等于,则执行步骤425,否则执行步骤424;

步骤424:接收到请求消息的传感节点、接入节点或者用户设备丢弃该响应消息,执行步骤432;

步骤425:判断是否传感节点接收到该响应消息,是则执行步骤426,否则执行步骤427;

步骤426:接收到响应消息的传感节点从该响应消息的目的坐标集合中删除第一个元素,转发该请求消息,执行步骤423;

步骤427:判断是否接入节点接收到该响应消息,是则执行步骤428,否则执行步骤429;

步骤428:接收到响应消息的接入节点选择所有名称和版本号等于该响应消息名称和版本号的消息表项,对于每个选中的消息表项执行下述操作:该接入节点将该响应消息的目的坐标集合更新为该消息表项的坐标集合,转发该响应消息,执行步骤423;

步骤429:接收到响应消息的用户设备从该响应消息的目的坐标集合中删除第一个元素,如果该响应消息的目的坐标集合为空,则执行步骤431,否则执行步骤430;

步骤430:接收到响应消息的用户设备转发该响应消息,则执行步骤423;

步骤431:用户设备D1接收到响应消息后,保存响应消息负载中的数据;

步骤432:结束。

5.根据权利要求1所述的一种高效的传感网络地址配置方法,其特征在于,在数据C1由名称NA1唯一标识,版本号为V1的条件下,如果用户设备D1获取数据C1后将数据C1更新为数据C2,版本号为V2,则执行下述更新过程:步骤501:开始;

步骤502:用户设备D1查看接入节点表,选择一个接入节点表项,该接入节点表项的坐标与自己的坐标距离最近,用户设备D1发送一个更新消息,该更新消息的名称域值为NA1,版本号为V2,消息类型为6,源坐标集合为空,目的坐标集合等于选中的接入节点表项的坐标集合,负载为数据C2;

步骤503:如果接入节点接收到该更新消息,则执行步骤507,否则执行步骤504;

步骤504:接收到更新消息的用户设备判断自己的坐标是否等于该更新消息目的坐标集合中的第一个元素,如果等于,则执行步骤506,否则执行步骤505;

步骤505:用户设备丢弃该更新消息,执行步骤519;

步骤506:用户设备从该更新消息的目的坐标集合中删除第一个元素,转发该更新消息,执行步骤503;

步骤507:接收到更新消息的接入节点判断自己的坐标是否等于该更新消息目的坐标集合中的第一个元素,如果等于,则执行步骤509,否则执行步骤508;

步骤508:接入节点丢弃该更新消息,执行步骤519;

步骤509:接入节点查看接入节点表,选择一个接入节点表项,该接入节点表项的坐标与该更新消息名称中的坐标距离最近,将该更新消息的目的坐标集合更新为该接入节点表项的坐标集合,转发该更新消息;

步骤510:接入节点判断自己的坐标是否等于该更新消息目的坐标集合中的第一个元素,如果等于,则执行步骤511,否则执行步骤508;

步骤511:接入节点从该更新消息的目的坐标集合中删除第一个元素,如果该更新消息的目的坐标集合为空,则执行步骤513,否则执行步骤512;

步骤512:接入节点转发该更新消息,执行步骤510;

步骤513:接入节点选择一个索引表项,该索引表项的名称等于该更新消息的名称,将该索引表项的版本号更新为该更新消息的版本号,将该更新消息的目的坐标集合更新为该索引表项的坐标集合,转发该更新消息;

步骤514:接收到更新消息的传感节点判断自己的坐标是否等于该更新消息目的坐标集合中的第一个元素,如果等于,则执行步骤516,否则执行步骤515;

步骤515:传感节点丢弃该更新消息,执行步骤519;

步骤516:传感节点从该更新消息的目的坐标集合中删除第一个元素,如果该更新消息的目的坐标集合为空,则执行步骤518,否则执行步骤517;

步骤517:传感节点转发该更新消息,执行步骤514;

步骤518:传感节点查看数据表,选择一个数据表项,该数据表项的名称等于该更新消息的名称,将该数据表项的版本号更新为该更新消息的版本号,将该数据表项的数据值更新为该更新消息负载中的数据;

步骤519:结束。