首页 > 专利 > 常熟理工学院 > 一种基于簇的移动网络实现方法专利详情

一种基于簇的移动网络实现方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-09-14
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-01-08
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-04-17
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-09-14
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201811074162.4 申请日 2018-09-14
公开/公告号 CN109005567B 公开/公告日 2020-04-17
授权日 2020-04-17 预估到期日 2038-09-14
申请年 2018年 公开/公告年 2020年
缴费截止日
分类号 H04W40/02H04W40/04H04L12/741H04L12/715 主分类号 H04W40/02
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 1
引用专利数量 4 被引证专利数量 0
非专利引证 1、全文. 王晓喃,钱焕延.基于簇的MANET地址配置方案《.计算机应用研究》.2012,;
引用专利 CN106993321A、CN105682170A、CN103491590A、US2007250476A1 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 常熟理工学院 当前专利权人 常熟理工学院
发明人 王晓喃、乐德广、程宏斌 第一发明人 王晓喃
地址 江苏省苏州市常熟市常熟理工学院(东南校区) 邮编 215500
申请人数量 1 发明人数量 3
申请人所在省 江苏省 申请人所在市 江苏省苏州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
南京瑞弘专利商标事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
杨晓玲
摘要
本发明提供了一种基于簇的移动网络实现方法,所述移动网络包括移动节点;所述移动网络划分为两个以上的域,一个域由一个控制器和两个以上的簇构成;一个簇由一个簇首节点和两个以上的簇成员构成;移动节点包括四种类型:控制器、簇首节点、簇成员以及自由节点;自由节点为既不是控制器也不是簇首节点或者簇成员的移动节点;簇成员能够属于两个以上的簇;移动节点通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
  • 摘要附图
    一种基于簇的移动网络实现方法
  • 说明书附图:图1
    一种基于簇的移动网络实现方法
  • 说明书附图:图2
    一种基于簇的移动网络实现方法
  • 说明书附图:图3
    一种基于簇的移动网络实现方法
  • 说明书附图:图4
    一种基于簇的移动网络实现方法
  • 说明书附图:图5
    一种基于簇的移动网络实现方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-04-17 授权
2 2019-01-08 实质审查的生效 IPC(主分类): H04W 40/02 专利申请号: 201811074162.4 申请日: 2018.09.14
3 2018-12-14 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于簇的移动网络实现方法,其特征在于,所述移动网络包括移动节点;所述移动网络划分为两个以上的域,一个域由一个控制器和两个以上的簇构成;一个簇由一个簇首节点和两个以上的簇成员构成;移动节点包括四种类型:控制器、簇首节点、簇成员以及自由节点;自由节点为既不是控制器也不是簇首节点或者簇成员的移动节点;簇成员能够属于两个以上的簇;
控制器的类型值为1,簇首节点的类型值为2,簇成员的类型值为3,自由节点的类型值为4;
移动节点的地址由地理坐标和硬件ID构成;每个移动节点能够提供一种以上的资源,这些资源构建成资源集合;每个移动节点保存一个邻居表,每个邻居表项包括地址域、类型域、资源集合域以及生命周期;移动节点MN1启动后,它定期执行下述操作建立或者更新邻居表:
步骤101:开始;
步骤102:移动节点MN1定期发送信标消息,该信标消息的源地址为移动节点MN1自己的地址,目的地址为广播地址,即广播地址的每个比特值都为1,负载为移动节点MN1的类型值以及自己能够提供的资源的资源集合;
步骤103:邻居移动节点接收到该信标消息后,查看自己的邻居表,如果存在一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,则执行步骤104,否则执行步骤105;
步骤104:接收到信标消息的邻居移动节点选择一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,将该邻居表项的地址域值更新为该信标消息的源地址,类型域值更新为信标消息负载中的类型域值,资源集合域值更新为信标消息负载中的资源集合,生命周期设置为最大值,执行步骤106;
步骤105:接收到信标消息的邻居移动节点创建一个邻居表项,该邻居表项的地址域值设置为该信标消息的源地址,类型域值设置为信标消息负载中的类型域值,资源集合域值设置为信标消息负载中的资源集合,生命周期设置为最大值;
步骤106:结束;
如果一个邻居表项的生命周期衰减为0,则删除该邻居表项;
如果自由节点FN1准备建立一个域,它执行下述操作:
步骤201:开始;
步骤202:自由节点FN1设置一个参数P1,参数P1的初始值为大于1的正整数;
步骤203:自由节点FN1将参数P1递减1,如果参数P1等于1,则执行步骤214,否则执行步骤204;
步骤204:自由节点FN1发送一个侦听消息,该侦听消息的源地址为自己的地址,目的地址为广播地址,负载为类型值4以及参数n1,参数n1的值等于参数P1;自由节点FN1启动一个定时器,定时器的值为2n1×t1,t1为消息一跳的延迟;
步骤205:如果接收到侦听消息的节点为自由节点,则执行步骤206,否则执行步骤208;
步骤206:接收到侦听消息的自由节点将侦听消息负载中的参数n1递减1,如果参数n1大于0,则执行步骤207,否则执行步骤209;
步骤207:接收到侦听消息的自由节点将该侦听消息转发给邻居节点,执行步骤205;
步骤208:接收到侦听消息的移动节点发送一个侦听确认消息,该侦听确认消息的源地址为自己的地址,目的地址为该侦听消息的源地址,负载为自己的类型值以及该侦听消息负载中的参数n1;
步骤209:如果自由节点FN1在定时器指定时间内接收到侦听确认消息,则执行步骤
203,否则执行步骤210;
步骤210:自由节点FN1将自己标记为控制器,选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标的距离值最大,自由节点FN1发送一个簇首消息,该簇首消息的源地址为自由节点FN1的地址,目的地址为该邻居表项的地址域值,负载为自由节点FN1的地址以及参数n1,参数n1的值等于参数P1;
步骤211:其他移动节点接收到该簇首消息后,将自己标记为簇首节点,保存簇首消息的源地址,发送一个簇成员消息,该簇成员消息的源地址为自己的地址,目的地址为广播地址;如果邻居簇首节点或者控制器接收到该簇成员消息,则丢弃该簇成员消息;如果邻居自由节点或者簇成员节点接收到该簇成员消息,则将自己标记为簇成员并保存该簇成员消息的源地址;
步骤212:接收到该簇首消息的移动节点将该簇首消息负载中的参数n1递减1;如果参数n1等于0,则执行步骤214,否则执行步骤213;
步骤213:接收到该簇首消息的移动节点选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标距离以及该邻居表项的地址域值的坐标与簇首消息负载中地址的坐标距离之和最大,发送一个簇首消息,该簇首消息的源地址为自己的地址,目的地址为该邻居表项的地址域值,负载为接收到的簇首消息负载中的地址以及参数n1,执行步骤211;
步骤214:结束;
如果簇成员检测到自己的邻居表中所有邻居表项的类型值都不等于2,则将自己标记为自由节点;如果一个自由节点检测到自己的邻居表中至少存在一个邻居表项,该邻居表项的类型值等于2,则将自己标记为簇成员;如果控制器的坐标发生变化,则执行下述更新操作:
步骤301:开始;
步骤302:控制器选择所有类型值等于1的邻居表项,对于每个邻居表项,控制器发送一个新地址消息,该新地址消息的源地址为该控制器当前的地址,目的地址为该邻居表项的地址域值;
步骤303:簇首节点接收到新地址消息后,保存新地址消息的源地址;该簇首节点选择所有符合条件1的邻居表项;如果选中的邻居表项的数量为0,则执行步骤305,否则执行步骤304;
条件1:该邻居表项的类型域值等于1,且该邻居表项的地址域值的坐标与该新地址消息的源地址的坐标的距离大于接收到新地址消息的簇首节点的坐标与该新地址消息的源地址的坐标的距离;
步骤304:接收到新地址消息的簇首节点针对每个选中的邻居表项发送一个新地址消息,该新地址消息的源地址为接收到的新地址消息的源地址,目的地址为该邻居表项的地址域值,执行步骤303;
步骤305:结束;
控制器保存一个资源表,每个资源表项包含地址域、资源集合域以及生命周期域值;簇首节点CH1定期向控制器执行注册操作:
步骤401:开始;
步骤402:簇首节点CH1发送注册消息,该注册消息的源地址为自己的地址,目的地址为所在域控制器的地址,负载为簇首节点CH1的地址以及资源集合,该资源集合等于簇首节点CH1的所有类型域值等于3的邻居表项的资源集合域值的并集;
步骤403:如果簇成员或者自由节点接收到该注册消息,则执行步骤404,否则执行步骤
405;
步骤404:接收到注册消息的簇成员或者自由节点丢弃接收到的注册消息,执行步骤
409;
步骤405:如果控制器接收到注册消息,执行步骤409,否则执行步骤406;
步骤406:簇首节点接收到注册消息后,如果自己坐标与该注册消息目的地址的坐标的距离小于该注册消息源地址的坐标与该注册消息目的地址的坐标的距离,则执行步骤408,否则执行步骤407;
步骤407:接收到注册消息的簇首节点丢弃接收到的注册消息,执行步骤409;
步骤408:接收到注册消息的簇首节点将该注册消息的源地址更新为自己的地址,转发该注册消息,执行步骤403;
步骤409:控制器接收到该注册消息后,查看自己的资源表;如果存在一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,则执行步骤410,否则执行步骤411;
步骤410:接收到注册消息的控制器选择一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,将该资源表项的地址域值更新为该注册消息负载中的地址,资源集合域值更新为注册消息负载中的资源集合,生命周期设置为最大值,执行步骤412;
步骤411:接收到注册消息的控制器创建一个资源表项,该资源表项的地址域值等于该注册消息负载中的地址,资源集合域值等于该注册消息负载中的资源集合,生命周期设置为最大值
步骤412:结束;
簇成员CM1的簇首节点为CH1,数据D1由资源集合RS1中的资源来产生,簇成员CM1执行下述过程获取数据D1:
步骤501:开始;
步骤502:簇成员CM1发送资源请求消息,该资源请求消息的源地址为自己的地址,目的地址为簇首节点CH1的地址,负载为资源集合RS1以及自己的地址;簇首节点CH1接收到起源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤503,否则执行步骤504;
步骤503:接收到资源请求消息的簇首节点CH1发送一个资源响应消息,该资源响应消息的源地址为该资源请求消息的目的地址,目的地址为该资源请求消息的源地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
步骤504:接收到资源请求消息的簇首节点CH1将该资源请求消息的源地址更新为自己的地址,目的地址更新为自己所在域的控制器的地址,将该资源请求消息的负载更新为资源集合RS1、簇成员CM1的地址以及簇首节点CH1的地址;
步骤505:如果簇成员或者自由节点接收到该资源请求消息,则执行步骤506,否则执行步骤507;
步骤506:接收到资源请求消息的簇成员或者自由节点丢弃接收到的资源请求消息,执行步骤513;
步骤507:如果是控制器接收到资源请求消息,则执行步骤513,否则执行步骤508;
步骤508:簇首节点接收到资源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤509,否则执行步骤
510;
步骤509:接收到资源请求消息的簇首节点发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
步骤510:簇首节点接收到资源请求消息后,如果自己坐标与该资源请求消息目的地址的坐标的距离小于该资源请求消息源地址的坐标与该资源请求消息目的地址的坐标的距离,则执行步骤512,否则执行步骤511;
步骤511:接收到资源请求消息的簇首节点丢弃接收到的资源请求消息,执行步骤513;
步骤512:接收到资源请求消息的簇首节点将该资源请求消息的源地址更新为自己的地址,转发该资源请求消息,执行步骤505;
步骤513:接收到资源请求消息的控制器发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址;
步骤514:如果簇首节点CH1接收到资源响应消息,则执行步骤520,否则执行步骤515;
步骤515:如果簇成员或者自由节点接收到该资源响应消息,则执行步骤516,否则执行步骤517;
步骤516:接收到资源响应消息的簇成员或者自由节点丢弃接收到的资源响应消息,执行步骤520;
步骤517:簇首节点接收到资源响应消息后,如果自己坐标与该资源响应消息目的地址的坐标的距离小于该资源响应消息源地址的坐标与该资源响应消息目的地址的坐标的距离,则执行步骤519,否则执行步骤518;
步骤518:接收到资源响应消息的簇首节点丢弃接收到的资源响应消息,执行步骤520;
步骤519:接收到资源响应消息的簇首节点将该资源响应消息的源地址更新为自己的地址,转发该资源响应消息,执行步骤514;
步骤520:簇首节点CH1接收到资源响应消息后,将该资源响应消息的目的地址更新为该资源响应消息负载中的簇成员CM1的地址,转发该资源响应消息;簇成员CM1接收到资源响应消息后,保存该资源响应消息负载中返回该资源响应消息的簇首节点或者控制器的地址A1,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为地址A1,负载为资源RS1,自己的地址以及簇首节点CH1的地址;
步骤521:如果接收到簇成员或者自由节点接收到该请求消息,则执行步骤522,否则执行步骤523;
步骤522:接收到请求消息的簇成员或者自由节点丢弃接收到的请求消息,执行步骤
527;
步骤523:如果接收到请求消息的控制器或者簇首节点的地址的硬件ID等于该请求消息的目的地址的硬件ID,执行步骤527,否则执行步骤524;
步骤524:簇首节点接收到请求消息后,如果自己坐标与该请求消息目的地址的坐标的距离小于该请求消息源地址的坐标与该请求消息目的地址的坐标的距离,则执行步骤526,否则执行步骤525;
步骤525:接收到请求消息的簇首节点丢弃接收到的请求消息,执行步骤527;
步骤526:接收到请求消息的簇首节点将该请求消息的源地址更新为自己的地址,转发该请求消息,执行步骤521;
步骤527:接收到请求消息的控制器或者簇首节点利用资源集合RS1中资源产生数据D1,返回一个响应消息,该响应消息的源地址为自己的地址,目的地址为该请求消息负载中的簇首节点CH1的地址,负载为请求消息的负载以及数据D1;
步骤528:如果簇首节点CH1接收到响应消息,则执行步骤534,否则执行步骤529;
步骤529:如果接收到簇成员或者自由节点接收到该响应消息,则执行步骤530,否则执行步骤531;
步骤530:接收到响应消息的簇成员或者自由节点丢弃接收到的响应消息,执行步骤
534;
步骤531:簇首节点接收到响应消息后,如果自己坐标与该响应消息目的地址的坐标的距离小于该响应消息源地址的坐标与该响应消息目的地址的坐标的距离,则执行步骤533,否则执行步骤532;
步骤532:接收到响应消息的簇首节点丢弃接收到的响应消息,执行步骤534;
步骤533:接收到响应消息的簇首节点将该响应消息的源地址更新为自己的地址,转发该响应消息,执行步骤528;
步骤534:簇首节点CH1接收到响应消息后,将该响应消息的目的地址更新为该响应消息负载中的簇成员CM1的地址,转发该响应消息;簇成员CM1接收到响应消息后,保存该响应消息负载中的数据D1;
步骤535:结束。
说明书

技术领域

[0001] 本发明涉及一种实现方法,尤其涉及的是一种基于簇的移动网络实现方法。

背景技术

[0002] 移动网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现移动网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着移动网络技术的发展,移动网络会成为网络提供服务的一种模式。
[0003] 目前,移动网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低移动网络提供服务的延迟和代价成为近年来研究的热点问题。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于簇的移动网络实现方法。
[0005] 技术方案:本发明公开了一种基于簇的移动网络实现方法,所述移动网络包括移动节点;所述移动网络划分为两个以上的域,一个域由一个控制器和两个以上的簇构成;一个簇由一个簇首节点和两个以上的簇成员构成;移动节点包括四种类型:控制器、簇首节点、簇成员以及自由节点;自由节点为既不是控制器也不是簇首节点或者簇成员的移动节点;簇成员能够属于两个以上的簇;
[0006] 控制器的类型值为1,簇首节点的类型值为2,簇成员的类型值为3,自由节点的类型值为4;
[0007] 移动节点的地址由地理坐标和硬件ID构成,硬件ID可以是自己的MAC地址;每个移动节点能够提供一种以上的资源,例如传感器,这些资源构建成资源集合;每个移动节点保存一个邻居表,每个邻居表项包括地址域、类型域、资源集合域以及生命周期;移动节点MN1启动后,它定期执行下述操作建立或者更新邻居表:
[0008] 步骤101:开始;
[0009] 步骤102:移动节点MN1定期发送信标消息,该信标消息的源地址为移动节点MN1自己的地址,目的地址为广播地址,即广播地址的每个比特值都为1,负载为移动节点MN1的类型值以及自己能够提供的资源的资源集合;
[0010] 步骤103:邻居移动节点接收到该信标消息后,查看自己的邻居表,如果存在一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,则执行步骤104,否则执行步骤105;
[0011] 步骤104:接收到信标消息的邻居移动节点选择一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,将该邻居表项的地址域值更新为该信标消息的源地址,类型域值更新为信标消息负载中的类型域值,资源集合域值更新为信标消息负载中的资源集合,生命周期设置为最大值,例如500ms,执行步骤106;
[0012] 步骤105:接收到信标消息的邻居移动节点创建一个邻居表项,该邻居表项的地址域值设置为该信标消息的源地址,类型域值设置为信标消息负载中的类型域值,资源集合域值设置为信标消息负载中的资源集合,生命周期设置为最大值;
[0013] 步骤106:结束;
[0014] 如果一个邻居表项的生命周期衰减为0,则删除该邻居表项。
[0015] 移动节点通过上述过程建立邻居表,移动节点通过邻居表可以获取邻居节点的地址以及资源集合,从而实现消息的正确转发;同时,上述过程通过生命周期确保邻居表的有效性和正确性,从而确保数据通信的正确性和有效性。
[0016] 本发明所述方法中,如果自由节点FN1准备建立一个域,它执行下述操作:
[0017] 步骤201:开始;
[0018] 步骤202:自由节点FN1设置一个参数P1,参数P1的初始值为大于1的正整数;参数P1定义了建立域操作的最大次数;
[0019] 步骤203:自由节点FN1将参数P1递减1,如果参数P1等于1,则执行步骤214,否则执行步骤204;
[0020] 步骤204:自由节点FN1发送一个侦听消息,该侦听消息的源地址为自己的地址,目的地址为广播地址,负载为类型值4以及参数n1,参数n1的值等于参数P1;自由节点FN1启动一个定时器,定时器的值为2n1×t1,t1为消息一跳的延迟;
[0021] 步骤205:如果接收到侦听消息的节点为自由节点,则执行步骤206,否则执行步骤208;
[0022] 步骤206:接收到侦听消息的自由节点将侦听消息负载中的参数n1递减1,如果参数n1大于0,则执行步骤207,否则执行步骤209;
[0023] 步骤207:接收到侦听消息的自由节点将该侦听消息转发给邻居节点,执行步骤205;
[0024] 步骤208:接收到侦听消息的移动节点发送一个侦听确认消息,该侦听确认消息的源地址为自己的地址,目的地址为该侦听消息的源地址,负载为自己的类型值以及该侦听消息负载中的参数n1;
[0025] 步骤209:如果自由节点FN1在定时器指定时间内接收到侦听确认消息,则执行步骤203,否则执行步骤210;
[0026] 步骤210:自由节点FN1将自己标记为控制器,选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标的距离值最大,自由节点FN1发送一个簇首消息,该簇首消息的源地址为自由节点FN1的地址,目的地址为该邻居表项的地址域值,负载为自由节点FN1的地址以及参数n1,参数n1的值等于参数P1;
[0027] 步骤211:其他移动节点接收到该簇首消息后,将自己标记为簇首节点,保存簇首消息的源地址,发送一个簇成员消息,该簇成员消息的源地址为自己的地址,目的地址为广播地址;如果邻居簇首节点或者控制器接收到该簇成员消息,则丢弃该簇成员消息;如果邻居自由节点或者簇成员节点接收到该簇成员消息,则将自己标记为簇成员并保存该簇成员消息的源地址;
[0028] 步骤212:接收到该簇首消息的移动节点将该簇首消息负载中的参数n1递减1;如果参数n1等于0,则执行步骤214,否则执行步骤213;
[0029] 步骤213:接收到该簇首消息的移动节点选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标距离以及该邻居表项的地址域值的坐标与簇首消息负载中地址的坐标距离之和最大,发送一个簇首消息,该簇首消息的源地址为自己的地址,目的地址为该邻居表项的地址域值,负载为接收到的簇首消息负载中的地址以及参数n1,执行步骤211;
[0030] 步骤214:结束。
[0031] 自由节点通过上述过程建立域从而选取簇首,这样,能够有效提高数据通信能力,确保数据通信的正确性和有效性;此外,由于簇首节点较少,因为能够提高消息的转发代价和延迟,从而降低数据通信的代价和延迟。
[0032] 本发明所述方法中,如果簇成员检测到自己的邻居表中所有邻居表项的类型值都不等于2,则将自己标记为自由节点;如果一个自由节点检测到自己的邻居表中至少存在一个邻居表项,该邻居表项的类型值等于2,则将自己标记为簇成员;如果控制器的坐标发生变化,则执行下述更新操作:
[0033] 步骤301:开始;
[0034] 步骤302:控制器选择所有类型值等于1的邻居表项,对于每个邻居表项,控制器发送一个新地址消息,该新地址消息的源地址为该控制器当前的地址,目的地址为该邻居表项的地址域值;
[0035] 步骤303:簇首节点接收到新地址消息后,保存新地址消息的源地址;该簇首节点选择所有符合条件1的邻居表项;如果选中的邻居表项的数量为0,则执行步骤305,否则执行步骤304;
[0036] 条件1:该邻居表项的类型域值等于1,且该邻居表项的地址域值的坐标与该新地址消息的源地址的坐标的距离大于接收到新地址消息的簇首节点的坐标与该新地址消息的源地址的坐标的距离;
[0037] 步骤304:接收到新地址消息的簇首节点针对每个选中的邻居表项发送一个新地址消息,该新地址消息的源地址为接收到的新地址消息的源地址,目的地址为该邻居表项的地址域值,执行步骤303;
[0038] 步骤305:结束。
[0039] 移动节点通过上述过程更新邻居表,从而确保邻居表中邻居节点的地址以及资源集合的正确性和有效性,从而确保消息的正确转发;同时,上述过程通过生命周期确保邻居表的有效性和正确性,从而进一步确保数据通信的正确性和有效性。
[0040] 本发明所述方法中,控制器保存一个资源表,每个资源表项包含地址域、资源集合域以及生命周期域值;簇首节点CH1定期向控制器执行注册操作:
[0041] 步骤401:开始;
[0042] 步骤402:簇首节点CH1发送注册消息,该注册消息的源地址为自己的地址,目的地址为所在域控制器的地址,负载为簇首节点CH1的地址以及资源集合,该资源集合等于簇首节点CH1的所有类型域值等于3的邻居表项的资源集合域值的并集;
[0043] 步骤403:如果簇成员或者自由节点接收到该注册消息,则执行步骤404,否则执行步骤405;
[0044] 步骤404:接收到注册消息的簇成员或者自由节点丢弃接收到的注册消息,执行步骤409;
[0045] 步骤405:如果控制器接收到注册消息,执行步骤409,否则执行步骤406;
[0046] 步骤406:簇首节点接收到注册消息后,如果自己坐标与该注册消息目的地址的坐标的距离小于该注册消息源地址的坐标与该注册消息目的地址的坐标的距离,则执行步骤408,否则执行步骤407;
[0047] 步骤407:接收到注册消息的簇首节点丢弃接收到的注册消息,执行步骤409;
[0048] 步骤408:接收到注册消息的簇首节点将该注册消息的源地址更新为自己的地址,转发该注册消息,执行步骤403;
[0049] 步骤409:控制器接收到该注册消息后,查看自己的资源表;如果存在一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,则执行步骤410,否则执行步骤411;
[0050] 步骤410:接收到注册消息的控制器选择一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,将该资源表项的地址域值更新为该注册消息负载中的地址,资源集合域值更新为注册消息负载中的资源集合,生命周期设置为最大值,执行步骤412;
[0051] 步骤411:接收到注册消息的控制器创建一个资源表项,该资源表项的地址域值等于该注册消息负载中的地址,资源集合域值等于该注册消息负载中的资源集合,生命周期设置为最大值
[0052] 步骤412:结束。
[0053] 簇首通过上述过程执行注册操作,这样控制器可以获取簇首的地址以及资源集合,从而确保消息的正确转发;同时,上述过程通过生命周期确保资源表的有效性和正确性,从而进一步确保数据通信的正确性和有效性。
[0054] 本发明所述方法中,簇成员CM1的簇首节点为CH1,数据D1由资源集合RS1中的资源来产生,簇成员CM1执行下述过程获取数据D1:
[0055] 步骤501:开始;
[0056] 步骤502:簇成员CM1发送资源请求消息,该资源请求消息的源地址为自己的地址,目的地址为簇首节点CH1的地址,负载为资源集合RS1以及自己的地址;簇首节点CH1接收到起源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤503,否则执行步骤504;
[0057] 步骤503:接收到资源请求消息的簇首节点CH1发送一个资源响应消息,该资源响应消息的源地址为该资源请求消息的目的地址,目的地址为该资源请求消息的源地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
[0058] 步骤504:接收到资源请求消息的簇首节点CH1将该资源请求消息的源地址更新为自己的地址,目的地址更新为自己所在域的控制器的地址,将该资源请求消息的负载更新为资源集合RS1、簇成员CM1的地址以及簇首节点CH1的地址;
[0059] 步骤505:如果簇成员或者自由节点接收到该资源请求消息,则执行步骤506,否则执行步骤507;
[0060] 步骤506:接收到资源请求消息的簇成员或者自由节点丢弃接收到的资源请求消息,执行步骤513;
[0061] 步骤507:如果是控制器接收到资源请求消息,则执行步骤513,否则执行步骤508;
[0062] 步骤508:簇首节点接收到资源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤509,否则执行步骤510;
[0063] 步骤509:接收到资源请求消息的簇首节点发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
[0064] 步骤510:簇首节点接收到资源请求消息后,如果自己坐标与该资源请求消息目的地址的坐标的距离小于该资源请求消息源地址的坐标与该资源请求消息目的地址的坐标的距离,则执行步骤512,否则执行步骤511;
[0065] 步骤511:接收到资源请求消息的簇首节点丢弃接收到的资源请求消息,执行步骤513;
[0066] 步骤512:接收到资源请求消息的簇首节点将该资源请求消息的源地址更新为自己的地址,转发该资源请求消息,执行步骤505;
[0067] 步骤513:接收到资源请求消息的控制器发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址;
[0068] 步骤514:如果簇首节点CH1接收到资源响应消息,则执行步骤520,否则执行步骤515;
[0069] 步骤515:如果簇成员或者自由节点接收到该资源响应消息,则执行步骤516,否则执行步骤517;
[0070] 步骤516:接收到资源响应消息的簇成员或者自由节点丢弃接收到的资源响应消息,执行步骤520;
[0071] 步骤517:簇首节点接收到资源响应消息后,如果自己坐标与该资源响应消息目的地址的坐标的距离小于该资源响应消息源地址的坐标与该资源响应消息目的地址的坐标的距离,则执行步骤519,否则执行步骤518;
[0072] 步骤518:接收到资源响应消息的簇首节点丢弃接收到的资源响应消息,执行步骤520;
[0073] 步骤519:接收到资源响应消息的簇首节点将该资源响应消息的源地址更新为自己的地址,转发该资源响应消息,执行步骤514;
[0074] 步骤520:簇首节点CH1接收到资源响应消息后,将该资源响应消息的目的地址更新为该资源响应消息负载中的簇成员CM1的地址,转发该资源响应消息;簇成员CM1接收到资源响应消息后,保存该资源响应消息负载中返回该资源响应消息的簇首节点或者控制器的地址A1,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为地址A1,负载为资源RS1,自己的地址以及簇首节点CH1的地址;
[0075] 步骤521:如果接收到簇成员或者自由节点接收到该请求消息,则执行步骤522,否则执行步骤523;
[0076] 步骤522:接收到请求消息的簇成员或者自由节点丢弃接收到的请求消息,执行步骤527;
[0077] 步骤523:如果接收到请求消息的控制器或者簇首节点的地址的硬件ID等于该请求消息的目的地址的硬件ID,执行步骤527,否则执行步骤524;
[0078] 步骤524:簇首节点接收到请求消息后,如果自己坐标与该请求消息目的地址的坐标的距离小于该请求消息源地址的坐标与该请求消息目的地址的坐标的距离,则执行步骤526,否则执行步骤525;
[0079] 步骤525:接收到请求消息的簇首节点丢弃接收到的请求消息,执行步骤527;
[0080] 步骤526:接收到请求消息的簇首节点将该请求消息的源地址更新为自己的地址,转发该请求消息,执行步骤521;
[0081] 步骤527:接收到请求消息的控制器或者簇首节点利用资源集合RS1中资源产生数据D1,返回一个响应消息,该响应消息的源地址为自己的地址,目的地址为该请求消息负载中的簇首节点CH1的地址,负载为请求消息的负载以及数据D1;
[0082] 步骤528:如果簇首节点CH1接收到响应消息,则执行步骤534,否则执行步骤529;
[0083] 步骤529:如果接收到簇成员或者自由节点接收到该响应消息,则执行步骤530,否则执行步骤531;
[0084] 步骤530:接收到响应消息的簇成员或者自由节点丢弃接收到的响应消息,执行步骤534;
[0085] 步骤531:簇首节点接收到响应消息后,如果自己坐标与该响应消息目的地址的坐标的距离小于该响应消息源地址的坐标与该响应消息目的地址的坐标的距离,则执行步骤533,否则执行步骤532;
[0086] 步骤532:接收到响应消息的簇首节点丢弃接收到的响应消息,执行步骤534;
[0087] 步骤533:接收到响应消息的簇首节点将该响应消息的源地址更新为自己的地址,转发该响应消息,执行步骤528;
[0088] 步骤534:簇首节点CH1接收到响应消息后,将该响应消息的目的地址更新为该响应消息负载中的簇成员CM1的地址,转发该响应消息;簇成员CM1接收到响应消息后,保存该响应消息负载中的数据D1;
[0089] 步骤535:结束。
[0090] 簇首节点通过上述过程获取数据,上述过程通过邻居表建立最优路由路径,从而降低了数据通信延迟和代价,同时,上述过程通过邻居表实现消息的正确转发,从而确保了数据通信的正确性和成功率。
[0091] 有益效果:本发明提供了一种基于簇的移动网络实现方法,移动节点通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。

附图说明

[0092] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0093] 图1为本发明所述的建立邻居表流程示意图。
[0094] 图2为本发明所述的建立域流程示意图。
[0095] 图3为本发明所述的更新流程示意图。
[0096] 图4为本发明所述的注册流程示意图。
[0097] 图5为本发明所述的数据通信流程示意图。具体实施方式:
[0098] 本发明提供了一种基于簇的移动网络实现方法,移动节点通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
[0099] 图1为本发明所述的建立邻居表流程示意图。所述移动网络包括移动节点;所述移动网络划分为两个以上的域,一个域由一个控制器和两个以上的簇构成;一个簇由一个簇首节点和两个以上的簇成员构成;移动节点包括四种类型:控制器、簇首节点、簇成员以及自由节点;自由节点为既不是控制器也不是簇首节点或者簇成员的移动节点;簇成员能够属于两个以上的簇;
[0100] 控制器的类型值为1,簇首节点的类型值为2,簇成员的类型值为3,自由节点的类型值为4;
[0101] 移动节点的地址由地理坐标和硬件ID构成,硬件ID可以是自己的MAC地址;每个移动节点能够提供一种以上的资源,例如传感器,这些资源构建成资源集合;每个移动节点保存一个邻居表,每个邻居表项包括地址域、类型域、资源集合域以及生命周期;移动节点MN1启动后,它定期执行下述操作建立或者更新邻居表:
[0102] 步骤101:开始;
[0103] 步骤102:移动节点MN1定期发送信标消息,该信标消息的源地址为移动节点MN1自己的地址,目的地址为广播地址,即广播地址的每个比特值都为1,负载为移动节点MN1的类型值以及自己能够提供的资源的资源集合;
[0104] 步骤103:邻居移动节点接收到该信标消息后,查看自己的邻居表,如果存在一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,则执行步骤104,否则执行步骤105;
[0105] 步骤104:接收到信标消息的邻居移动节点选择一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,将该邻居表项的地址域值更新为该信标消息的源地址,类型域值更新为信标消息负载中的类型域值,资源集合域值更新为信标消息负载中的资源集合,生命周期设置为最大值,例如500ms,执行步骤106;
[0106] 步骤105:接收到信标消息的邻居移动节点创建一个邻居表项,该邻居表项的地址域值设置为该信标消息的源地址,类型域值设置为信标消息负载中的类型域值,资源集合域值设置为信标消息负载中的资源集合,生命周期设置为最大值;
[0107] 步骤106:结束;
[0108] 如果一个邻居表项的生命周期衰减为0,则删除该邻居表项。
[0109] 移动节点通过上述过程建立邻居表,移动节点通过邻居表可以获取邻居节点的地址以及资源集合,从而实现消息的正确转发;同时,上述过程通过生命周期确保邻居表的有效性和正确性,从而确保数据通信的正确性和有效性。
[0110] 图2为本发明所述的建立域流程示意图。如果自由节点FN1准备建立一个域,它执行下述操作:
[0111] 步骤201:开始;
[0112] 步骤202:自由节点FN1设置一个参数P1,参数P1的初始值为大于1的正整数;参数P1是建立域的最大次数;
[0113] 步骤203:自由节点FN1将参数P1递减1,如果参数P1等于1,则执行步骤214,否则执行步骤204;
[0114] 步骤204:自由节点FN1发送一个侦听消息,该侦听消息的源地址为自己的地址,目的地址为广播地址,负载为类型值4以及参数n1,参数n1的值等于参数P1;自由节点FN1启动一个定时器,定时器的值为2n1×t1,t1为消息一跳的延迟;
[0115] 步骤205:如果接收到侦听消息的节点为自由节点,则执行步骤206,否则执行步骤208;
[0116] 步骤206:接收到侦听消息的自由节点将侦听消息负载中的参数n1递减1,如果参数n1大于0,则执行步骤207,否则执行步骤209;
[0117] 步骤207:接收到侦听消息的自由节点将该侦听消息转发给邻居节点,执行步骤205;
[0118] 步骤208:接收到侦听消息的移动节点发送一个侦听确认消息,该侦听确认消息的源地址为自己的地址,目的地址为该侦听消息的源地址,负载为自己的类型值以及该侦听消息负载中的参数n1;
[0119] 步骤209:如果自由节点FN1在定时器指定时间内接收到侦听确认消息,则执行步骤203,否则执行步骤210;
[0120] 步骤210:自由节点FN1将自己标记为控制器,选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标的距离值最大,自由节点FN1发送一个簇首消息,该簇首消息的源地址为自由节点FN1的地址,目的地址为该邻居表项的地址域值,负载为自由节点FN1的地址以及参数n1,参数n1的值等于参数P1;
[0121] 步骤211:其他移动节点接收到该簇首消息后,将自己标记为簇首节点,保存簇首消息的源地址,发送一个簇成员消息,该簇成员消息的源地址为自己的地址,目的地址为广播地址;如果邻居簇首节点或者控制器接收到该簇成员消息,则丢弃该簇成员消息;如果邻居自由节点或者簇成员节点接收到该簇成员消息,则将自己标记为簇成员并保存该簇成员消息的源地址;
[0122] 步骤212:接收到该簇首消息的移动节点将该簇首消息负载中的参数n1递减1;如果参数n1等于0,则执行步骤214,否则执行步骤213;
[0123] 步骤213:接收到该簇首消息的移动节点选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标距离以及该邻居表项的地址域值的坐标与簇首消息负载中地址的坐标距离之和最大,发送一个簇首消息,该簇首消息的源地址为自己的地址,目的地址为该邻居表项的地址域值,负载为接收到的簇首消息负载中的地址以及参数n1,执行步骤211;
[0124] 步骤214:结束。
[0125] 自由节点通过上述过程建立域从而选取簇首,这样,能够有效提高数据通信能力,确保数据通信的正确性和有效性;此外,由于簇首节点较少,因为能够提高消息的转发代价和延迟,从而降低数据通信的代价和延迟。
[0126] 图3为本发明所述的更新流程示意图。如果簇成员检测到自己的邻居表中所有邻居表项的类型值都不等于2,则将自己标记为自由节点;如果一个自由节点检测到自己的邻居表中至少存在一个邻居表项,该邻居表项的类型值等于2,则将自己标记为簇成员;如果控制器的坐标发生变化,则执行下述更新操作:
[0127] 步骤301:开始;
[0128] 步骤302:控制器选择所有类型值等于1的邻居表项,对于每个邻居表项,控制器发送一个新地址消息,该新地址消息的源地址为该控制器当前的地址,目的地址为该邻居表项的地址域值;
[0129] 步骤303:簇首节点接收到新地址消息后,保存新地址消息的源地址;该簇首节点选择所有符合条件1的邻居表项;如果选中的邻居表项的数量为0,则执行步骤305,否则执行步骤304;
[0130] 条件1:该邻居表项的类型域值等于1,且该邻居表项的地址域值的坐标与该新地址消息的源地址的坐标的距离大于接收到新地址消息的簇首节点的坐标与该新地址消息的源地址的坐标的距离;
[0131] 步骤304:接收到新地址消息的簇首节点针对每个选中的邻居表项发送一个新地址消息,该新地址消息的源地址为接收到的新地址消息的源地址,目的地址为该邻居表项的地址域值,执行步骤303;
[0132] 步骤305:结束。
[0133] 移动节点通过上述过程更新邻居表,从而确保邻居表中邻居节点的地址以及资源集合的正确性和有效性,从而确保消息的正确转发;同时,上述过程通过生命周期确保邻居表的有效性和正确性,从而进一步确保数据通信的正确性和有效性。
[0134] 图4为本发明所述的注册流程示意图。控制器保存一个资源表,每个资源表项包含地址域、资源集合域以及生命周期域值;簇首节点CH1定期向控制器执行注册操作:
[0135] 步骤401:开始;
[0136] 步骤402:簇首节点CH1发送注册消息,该注册消息的源地址为自己的地址,目的地址为所在域控制器的地址,负载为簇首节点CH1的地址以及资源集合,该资源集合等于簇首节点CH1的所有类型域值等于3的邻居表项的资源集合域值的并集;
[0137] 步骤403:如果簇成员或者自由节点接收到该注册消息,则执行步骤404,否则执行步骤405;
[0138] 步骤404:接收到注册消息的簇成员或者自由节点丢弃接收到的注册消息,执行步骤409;
[0139] 步骤405:如果控制器接收到注册消息,执行步骤409,否则执行步骤406;
[0140] 步骤406:簇首节点接收到注册消息后,如果自己坐标与该注册消息目的地址的坐标的距离小于该注册消息源地址的坐标与该注册消息目的地址的坐标的距离,则执行步骤408,否则执行步骤407;
[0141] 步骤407:接收到注册消息的簇首节点丢弃接收到的注册消息,执行步骤409;
[0142] 步骤408:接收到注册消息的簇首节点将该注册消息的源地址更新为自己的地址,转发该注册消息,执行步骤403;
[0143] 步骤409:控制器接收到该注册消息后,查看自己的资源表;如果存在一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,则执行步骤410,否则执行步骤411;
[0144] 步骤410:接收到注册消息的控制器选择一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,将该资源表项的地址域值更新为该注册消息负载中的地址,资源集合域值更新为注册消息负载中的资源集合,生命周期设置为最大值,执行步骤412;
[0145] 步骤411:接收到注册消息的控制器创建一个资源表项,该资源表项的地址域值等于该注册消息负载中的地址,资源集合域值等于该注册消息负载中的资源集合,生命周期设置为最大值
[0146] 步骤412:结束。
[0147] 簇首通过上述过程执行注册操作,这样控制器可以获取簇首的地址以及资源集合,从而确保消息的正确转发;同时,上述过程通过生命周期确保资源表的有效性和正确性,从而进一步确保数据通信的正确性和有效性。
[0148] 图5为本发明所述的数据通信流程示意图。簇成员CM1的簇首节点为CH1,数据D1由资源集合RS1中的资源来产生,簇成员CM1执行下述过程获取数据D1:
[0149] 步骤501:开始;
[0150] 步骤502:簇成员CM1发送资源请求消息,该资源请求消息的源地址为自己的地址,目的地址为簇首节点CH1的地址,负载为资源集合RS1以及自己的地址;簇首节点CH1接收到起源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤503,否则执行步骤504;
[0151] 步骤503:接收到资源请求消息的簇首节点CH1发送一个资源响应消息,该资源响应消息的源地址为该资源请求消息的目的地址,目的地址为该资源请求消息的源地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
[0152] 步骤504:接收到资源请求消息的簇首节点CH1将该资源请求消息的源地址更新为自己的地址,目的地址更新为自己所在域的控制器的地址,将该资源请求消息的负载更新为资源集合RS1、簇成员CM1的地址以及簇首节点CH1的地址;
[0153] 步骤505:如果簇成员或者自由节点接收到该资源请求消息,则执行步骤506,否则执行步骤507;
[0154] 步骤506:接收到资源请求消息的簇成员或者自由节点丢弃接收到的资源请求消息,执行步骤513;
[0155] 步骤507:如果是控制器接收到资源请求消息,则执行步骤513,否则执行步骤508;
[0156] 步骤508:簇首节点接收到资源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤509,否则执行步骤510;
[0157] 步骤509:接收到资源请求消息的簇首节点发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
[0158] 步骤510:簇首节点接收到资源请求消息后,如果自己坐标与该资源请求消息目的地址的坐标的距离小于该资源请求消息源地址的坐标与该资源请求消息目的地址的坐标的距离,则执行步骤512,否则执行步骤511;
[0159] 步骤511:接收到资源请求消息的簇首节点丢弃接收到的资源请求消息,执行步骤513;
[0160] 步骤512:接收到资源请求消息的簇首节点将该资源请求消息的源地址更新为自己的地址,转发该资源请求消息,执行步骤505;
[0161] 步骤513:接收到资源请求消息的控制器发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址;
[0162] 步骤514:如果簇首节点CH1接收到资源响应消息,则执行步骤520,否则执行步骤515;
[0163] 步骤515:如果簇成员或者自由节点接收到该资源响应消息,则执行步骤516,否则执行步骤517;
[0164] 步骤516:接收到资源响应消息的簇成员或者自由节点丢弃接收到的资源响应消息,执行步骤520;
[0165] 步骤517:簇首节点接收到资源响应消息后,如果自己坐标与该资源响应消息目的地址的坐标的距离小于该资源响应消息源地址的坐标与该资源响应消息目的地址的坐标的距离,则执行步骤519,否则执行步骤518;
[0166] 步骤518:接收到资源响应消息的簇首节点丢弃接收到的资源响应消息,执行步骤520;
[0167] 步骤519:接收到资源响应消息的簇首节点将该资源响应消息的源地址更新为自己的地址,转发该资源响应消息,执行步骤514;
[0168] 步骤520:簇首节点CH1接收到资源响应消息后,将该资源响应消息的目的地址更新为该资源响应消息负载中的簇成员CM1的地址,转发该资源响应消息;簇成员CM1接收到资源响应消息后,保存该资源响应消息负载中返回该资源响应消息的簇首节点或者控制器的地址A1,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为地址A1,负载为资源RS1,自己的地址以及簇首节点CH1的地址;
[0169] 步骤521:如果接收到簇成员或者自由节点接收到该请求消息,则执行步骤522,否则执行步骤523;
[0170] 步骤522:接收到请求消息的簇成员或者自由节点丢弃接收到的请求消息,执行步骤527;
[0171] 步骤523:如果接收到请求消息的控制器或者簇首节点的地址的硬件ID等于该请求消息的目的地址的硬件ID,执行步骤527,否则执行步骤524;
[0172] 步骤524:簇首节点接收到请求消息后,如果自己坐标与该请求消息目的地址的坐标的距离小于该请求消息源地址的坐标与该请求消息目的地址的坐标的距离,则执行步骤526,否则执行步骤525;
[0173] 步骤525:接收到请求消息的簇首节点丢弃接收到的请求消息,执行步骤527;
[0174] 步骤526:接收到请求消息的簇首节点将该请求消息的源地址更新为自己的地址,转发该请求消息,执行步骤521;
[0175] 步骤527:接收到请求消息的控制器或者簇首节点利用资源集合RS1中资源产生数据D1,返回一个响应消息,该响应消息的源地址为自己的地址,目的地址为该请求消息负载中的簇首节点CH1的地址,负载为请求消息的负载以及数据D1;
[0176] 步骤528:如果簇首节点CH1接收到响应消息,则执行步骤534,否则执行步骤529;
[0177] 步骤529:如果接收到簇成员或者自由节点接收到该响应消息,则执行步骤530,否则执行步骤531;
[0178] 步骤530:接收到响应消息的簇成员或者自由节点丢弃接收到的响应消息,执行步骤534;
[0179] 步骤531:簇首节点接收到响应消息后,如果自己坐标与该响应消息目的地址的坐标的距离小于该响应消息源地址的坐标与该响应消息目的地址的坐标的距离,则执行步骤533,否则执行步骤532;
[0180] 步骤532:接收到响应消息的簇首节点丢弃接收到的响应消息,执行步骤534;
[0181] 步骤533:接收到响应消息的簇首节点将该响应消息的源地址更新为自己的地址,转发该响应消息,执行步骤528;
[0182] 步骤534:簇首节点CH1接收到响应消息后,将该响应消息的目的地址更新为该响应消息负载中的簇成员CM1的地址,转发该响应消息;簇成员CM1接收到响应消息后,保存该响应消息负载中的数据D1;
[0183] 步骤535:结束。
[0184] 实施例1
[0185] 基于表1的仿真参数,本实施例模拟了本发明中的一种基于簇的移动网络实现方法,性能分析如下:当移动速度增加时,网络性能下降,数据获取成功率有所降低,当移动速度降低时,网络性能提高,数据获取成功率有所提高,数据获取的平均延迟为1037ms。
[0186] 表1仿真参数
[0187]
[0188]
[0189] 本发明提供了一种基于簇的移动网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号