专利摘要
本发明公开了一种高效的新一代无线网络通信方法,所述新一代无线网络包括路由器和节点;路由器包括骨干路由器和接入路由器;骨干路由器配置两个以上的上游接口和两个以上的下游接口,上游接口与骨干路由器相连,下游接口与接入路由器相连;骨干路由器的接口均为有线接口;接入路由器配置一个上游接口和一个下游接口,上游接口与骨干路由器相连,下游接口与节点相连,上游接口为有线接口,下游接口为无线接口;每个节点配置一个无线接口,与接入路由器或者其他节点链接。用户通过本发明能够有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、环境监测以及健康医疗等领域,具有广泛的应用前景。
权利要求
1.一种高效的新一代无线网络通信方法,其特征在于,所述新一代无线网络包括路由器和节点;路由器包括骨干路由器和接入路由器;
骨干路由器配置两个以上的上游接口和两个以上的下游接口,上游接口与骨干路由器相连,下游接口与接入路由器相连;骨干路由器的接口均为有线接口;
接入路由器配置一个上游接口和一个下游接口,上游接口与骨干路由器相连,下游接口与节点相连,上游接口为有线接口,下游接口为无线接口;
每个节点配置一个无线接口,与接入路由器或者其他节点链接;
一个接入路由器与一个以上的节点构成一个子网,所述节点在所有接入路由器中与该接入路由器距离最近;一个骨干路由器、与该骨干路由器链接的所有接入路由器以及这些接入路由器所在子网的所有节点构成一个域;
每个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
每个接入路由器和骨干路由器具有网络唯一性的坐标;
每个接入路由器和节点具有网络唯一性的硬件ID;
每个节点具有一个地址,该地址包含域前缀、子网前缀和节点ID;域前缀为该节点所在域的骨干路由器的坐标,子网前缀为该节点所在的子网的接入路由器的坐标,节点ID为该节点的硬件ID;
所述新一代无线网络内的消息由消息类型定义,如下表所示:
骨干路由器保存一个骨干表,一个骨干表项包含坐标域、接口ID域和生命周期;骨干消息包含消息类型和坐标值;骨干路由器BR1定期执行下述操作:
步骤101:开始;
步骤102:骨干路由器BR1从每个上游接口发送一个骨干消息,该骨干消息的消息类型值为1,坐标为骨干路由器BR1的坐标;
步骤103:邻居骨干路由器从接口f1接收到骨干消息后查看骨干表,如果存在一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:从接口f1接收到骨干消息的邻居骨干路由器选择一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值,执行步骤106;
步骤105:从接口f1接收到骨干消息的邻居骨干路由器创建一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值;
步骤106:结束;
骨干路由器保存一个接入表,一个接入表项包含接口ID、坐标和生命周期;接入消息包含消息类型和坐标;接入路由器AR1与骨干路由器BR1链接,接入路由器AR1定期执行下述操作:
步骤201:开始;
步骤202:接入路由器AR1从上游接口发送接入消息,该接入消息的消息类型值为2,坐标为接入路由器AR1的坐标;
步骤203:骨干路由器BR1从接口f2接收到接入消息后查看接入表,判断是否存在一个接入表项,该接入表项的坐标等于该接入消息的坐标,如果是则执行步骤204,否则执行步骤205;
步骤204:从接口f2接收到接入消息的骨干路由器BR1选择一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值,执行步骤206;
步骤205:从接口f2接收到接入消息的骨干路由器BR1创建一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值;
步骤206:结束;
每个节点保存一个邻居表,一个邻居表项包含硬件ID、坐标和生命周期;节点消息包含消息类型、坐标和硬件ID;节点ND1定期执行下述操作:
步骤301:开始;
步骤302:节点ND1发送节点消息,该节点消息的消息类型值为3,坐标和硬件ID分别为节点ND1的坐标和硬件ID;
步骤303:邻居节点接收到节点消息后查看邻居表,判断是否存在一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,如果是则执行步骤304,否则执行步骤305;
步骤304:接收到节点消息的邻居节点选择一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值,执行步骤306;
步骤305:接收到节点消息的邻居节点创建一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值;
步骤306:结束。
2.根据权利要求1所述的一种高效的新一代无线网络通信方法,其特征在于,接入路由器保存一个节点表,一个节点表项包含坐标、硬件ID、地址集合和生命周期;注册消息包含消息类型、源坐标、源硬件ID、目的坐标和目的硬件ID;
每个节点保存一个接入路由器表,每个接入路由器表项包含硬件ID和坐标;
节点和路由器通过电子地图能够获取每个路由器的坐标以及每个接入路由器的硬件ID;针对每个接入路由器,节点创建一个接入路由器表项,该接入路由器表项的硬件ID和坐标分别等于该接入路由器的硬件ID和坐标;所有节点具有相同的传输半径R;
在所有接入路由器中,如果节点ND1与接入路由器AR1距离最近,节点ND1定期执行下述操作:
步骤401:开始;
步骤402:节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个注册消息,该注册消息的消息类型值为4,源坐标和源硬件ID分别为节点ND1的坐标和硬件ID,目的硬件ID为该邻居表项的硬件ID,目的坐标为接入路由器AR1的坐标;
步骤403:判断是否接入路由器AR1接收到该注册消息,如果是则执行步骤408,否则执行步骤404;
步骤404:接收到注册消息的节点判断自己的硬件ID是否等于该注册消息的目的硬件ID,如果是,则执行步骤405,否则执行步骤408;
步骤405:接收到注册消息的节点判断自己的坐标与该注册消息目的坐标之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤406,否则执行步骤407;
步骤406:接收到注册消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该注册消息的目的坐标,接收到注册消息的节点将该注册消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该注册消息,执行步骤403;
步骤407:接收到注册消息的节点选择一个邻居表项,该邻居表项的坐标与注册消息的目的坐标距离最近,将该注册消息的目的硬件ID更新为该邻居表项的硬件ID,转发该注册消息,执行步骤403;
步骤408:接入路由器AR1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,则将该节点表项的坐标更新为该注册消息的源坐标,将生命周期设置为最大值;否则,接入路由器AR1创建一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,坐标为该注册消息的源坐标,地址集合为空,将生命周期设置为最大值;
步骤409:结束。
3.根据权利要求2所述的一种高效的新一代无线网络通信方法,其特征在于,所有接入路由器具有相同的传输半径R1;从接入路由器到达节点的路由路径由地址集合表示,地址集合包含该路径所包含的节点的硬件ID;接入路由器AR1创建节点表后,针对每个节点表项E1,执行下述操作:
步骤501:开始;
步骤502:接入路由器AR1设置一个地址集合变量as1,地址集合变量as1的初始值为空;如果接入路由器AR1的坐标与节点表项E1的坐标之间的距离小于等于接入路由器AR1的传输半径R1,则执行步骤506,否则执行步骤503;
步骤503:接入路由器AR1选择一个节点表项E2,节点表项E2的坐标与接入路由器AR1的坐标之间的距离小于等于传输半径R1,且节点表项E2的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E2的硬件ID加入到地址集合变量as1中并作为最后一个元素;
步骤504:接入路由器AR1选择一个节点表项E3,节点表项E3的硬件ID等于地址集合变量as1的最后一个元素;如果节点表项E3的坐标与节点表项E1的坐标之间的距离小于等于传输半径R1,则执行步骤506,否则执行步骤505;
步骤505:接入路由器AR1选择一个节点表项E4,节点表项E4的坐标与节点表项E3的坐标之间的距离小于等于传输半径R1,且节点表项E4的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E4的硬件ID加入到地址集合变量as1中并作为最后一个元素,执行步骤504;
步骤506:接入路由器AR1将节点表项E1的硬件ID加入到地址集合变量as1中并作为最后一个元素,将节点表项E1的地址集合设置为变量as1的值;
步骤507:结束。
4.根据权利要求3所述的一种高效的新一代无线网络通信方法,其特征在于,在节点ND1距离接入路由器AR1距离最近,节点ND2距离接入路由器AR2距离最近,接入路由器AR1和接入路由器AR2与骨干路由器BR1相连的条件下,节点ND1通过下述过程实现与节点ND2的通信;
其中,请求消息包含消息类型、源地址、目的地址、目的硬件ID和地址集合;响应消息包含消息类型、源地址、目的地址、目的硬件ID、地址集合和负载;
步骤601:开始;
步骤602:节点ND1为自己和节点ND2分别构建一个地址,在节点ND1的地址中,域前缀为0,子网前缀为接入路由器AR1的坐标,硬件ID为节点ND1的硬件ID;在节点ND2的地址中,节点ID等于节点ND2的硬件ID,子网前缀和域前缀均为0;节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个请求消息,该请求消息的消息类型值为5,源地址为节点ND1的地址,目的地址为节点ND2的地址,目的硬件ID等于该邻居表项的硬件ID,地址集合为空;
步骤603:如果接入路由器AR1接收到该请求消息,则执行步骤608,否则执行步骤604;
步骤604:接收到请求消息的节点判断自己的硬件ID是否等于该请求消息的目的硬件ID,如果是,则执行步骤605,否则执行步骤608;
步骤605:接收到请求消息的节点判断自己的坐标与该请求消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤606,否则执行步骤607;
步骤606:接收到请求消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该请求消息源地址的子网前缀,接收到请求消息的节点将该请求消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该请求消息,执行步骤603;
步骤607:接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该请求消息源地址的子网前缀距离最近,接收到请求消息的节点将该请求消息的目的硬件ID更新为该邻居表项的硬件ID,转发该请求消息,执行步骤603;
步骤608:接入路由器AR1接收到该请求消息,从上游接口转发该请求消息;骨干路由器BR1接收到该请求消息后,通过定位服务获取节点ND2的坐标,该坐标与接入路由器AR2距离最近;骨干路由器BR1将该请求消息目的地址的子网前缀设置为接入路由器AR2的坐标;骨干路由器BR1查看接入表,选择一个接入表项,该接入表项的坐标等于该请求消息目的地址的子网前缀,从该接入表项的接口ID所标识的接口转发该请求消息;接入路由器AR2接收到该请求消息后,选择一个节点表项,该节点表项的硬件ID等于该请求消息目的地址的节点ID,将该请求消息的地址集合设置为该节点表项的地址集合,从下游接口转发该请求消息;
步骤609:接收到该请求消息的任一节点判断自己的硬件ID是否等于该请求消息地址集合的第一个元素,如果是,则执行步骤610,否则执行步骤612;
步骤610:接收到请求消息的节点从该请求消息地址集合中删除第一个元素,如果该请求消息地址集合为空,如果是,则执行步骤612,否则执行步骤611;
步骤611:接收到请求消息的节点转发该请求消息,执行步骤609;
步骤612:接收到请求消息的节点构建一个响应消息,该响应消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,地址集合为空,负载为响应数据;接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID设置为该邻居表项的硬件ID,该节点发送该响应消息;
步骤613:如果接入路由器AR2接收到该响应消息,则执行步骤618,否则执行步骤614;
步骤614:接收到响应消息的节点判断自己的硬件ID是否等于该响应消息的目的硬件ID,如果是,则执行步骤615,否则执行步骤623;
步骤615:接收到响应消息的节点判断自己的坐标与该响应消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤616,否则执行步骤617;
步骤616:接收到响应消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该响应消息源地址的子网前缀,将该响应消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该响应消息,执行步骤613;
步骤617:接收到响应消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID更新为该邻居表项的硬件ID,转发该响应消息,执行步骤613;
步骤618:接入路由器AR2接收到该响应消息后,从上游接口转发该响应消息;骨干路由器BR1接收到该响应消息后,选择一个接入表项,该接入表项的坐标等于该响应消息目的地址的子网前缀,骨干路由器BR1从该接入表项的接口ID所标识的接口转发该响应消息;接入路由器AR1接收到该响应消息后,选择一个节点表项,该节点表项的硬件ID等于该响应消息目的地址的节点ID,接入路由器AR1将该响应消息的地址集合设置为该节点表项的地址集合,从下游接口转发该响应消息;
步骤619:节点接收到该响应消息后,如果该节点的硬件ID等于该响应消息地址集合的第一个元素,则执行步骤620,否则执行步骤622;
步骤620:接收到响应消息的节点从该响应消息地址集合中删除第一个元素,如果该响应消息的地址集合为空,则执行步骤622,否则执行步骤621;
步骤621:接收到响应消息的节点转发该响应消息,执行步骤619;
步骤622:接收到响应消息的节点ND1保存该响应消息中的数据;
步骤623:结束。
5.根据权利要求4所述的一种高效的新一代无线网络通信方法,其特征在于,在节点ND1距离接入路由器AR1距离最近,接入路由器AR1与骨干路由器BR1相连,节点ND3距离接入路由器AR3距离最近,接入路由器AR3与骨干路由器BR3相连的条件下,节点ND1通过下述过程实现与节点ND3的通信:
步骤701:开始;
步骤702:节点ND1为自己和节点ND3分别构建一个地址,在节点ND1的地址中,域前缀为0,子网前缀为接入路由器AR1的坐标,硬件ID为节点ND1的硬件ID;在节点ND3的地址中,节点ID等于节点ND3的硬件ID,子网前缀和域前缀均为0;节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个请求消息,该请求消息的消息类型值为5,源地址为节点ND1的地址,目的地址为节点ND3的地址,目的硬件ID等于该邻居表项的硬件ID,地址集合为空;
步骤703:如果接入路由器AR1接收到该请求消息,则执行步骤708,否则执行步骤704;
步骤704:接收到请求消息的节点判断自己的硬件ID是否等于该请求消息的目的硬件ID,如果是,则执行步骤705,否则执行步骤708;
步骤705:接收到请求消息的节点查看自己的坐标与该请求消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤706,否则执行步骤707;
步骤706:接收到请求消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该请求消息源地址的子网前缀,接收到请求消息的节点将该请求消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该请求消息,执行步骤703;
步骤707:接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该请求消息源地址的子网前缀距离最近,接收到请求消息的节点将该请求消息的目的硬件ID更新为该邻居表项的硬件ID,转发该请求消息,执行步骤703;
步骤708:接入路由器AR1接收到该请求消息,从上游接口转发该请求消息;骨干路由器BR1接收到该请求消息后,通过定位服务获取节点ND3的坐标,该坐标与接入路由器AR3距离最近,接入路由器AR3距离骨干路由器BR3距离最近;骨干路由器BR1将该请求消息目的地址的域前缀更新为骨干路由器BR3的坐标,将子网前缀设置为接入路由器AR3的坐标;骨干路由器BR3选择一个骨干表项,该骨干表项的坐标与该请求消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该请求消息;
步骤709:如果骨干路由器BR3接收到该请求消息,则执行步骤711,否则执行步骤710;
步骤710:接收到请求消息的骨干路由器选择一个骨干表项,该骨干表项的坐标与该请求消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该请求消息,执行步骤709;
步骤711:骨干路由器BR3查看接入表,选择一个接入表项,该接入表项的坐标等于该请求消息目的地址的子网前缀,骨干路由器BR3从该接入表项的接口ID所标识的接口转发该请求消息;接入路由器AR3接收到该请求消息后,选择一个节点表项,该节点表项的硬件ID等于该请求消息目的地址的节点ID,接入路由器AR3将该请求消息的地址集合设置为该节点表项的地址集合,从下游接口转发该请求消息;
步骤712:接收到该请求消息的任一节点判断自己的硬件ID是否等于该请求消息地址集合的第一个元素,如果是,则执行步骤713,否则执行步骤729;
步骤713:接收到请求消息的节点从该请求消息地址集合中删除第一个元素,如果该请求消息地址集合为空,则执行步骤715,否则执行步骤714;
步骤714:接收到请求消息的节点转发该请求消息,执行步骤712;
步骤715:接收到请求消息的节点构建一个响应消息,该响应消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,地址集合为空,负载为响应数据;接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID设置为该邻居表项的硬件ID,该节点发送该响应消息;
步骤716:如果接入路由器AR3接收到该响应消息,则执行步骤721,否则执行步骤717;
步骤717:接收到响应消息的节点判断自己的硬件ID是否等于该响应消息的目的硬件ID,如果是,则执行步骤718,否则执行步骤729;
步骤718:接收到响应消息的节点查看自己的坐标与该响应消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤719,否则执行步骤720;
步骤719:接收到响应消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该响应消息源地址的子网前缀,接收到响应消息的节点将该响应消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该响应消息,执行步骤716;
步骤720:接收到响应消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,接收到响应消息的节点将该响应消息的目的硬件ID更新为该邻居表项的硬件ID,转发该响应消息,执行步骤716;
步骤721:接入路由器AR3接收到该响应消息后,从上游接口转发该响应消息;骨干路由器BR3接收到该响应消息后,选择一个骨干表项,该骨干表项的坐标与该响应消息目的地址的域前缀距离最近,骨干路由器BR3从该骨干表项的接口ID所标识的接口转发该响应消息;
步骤722:如果骨干路由器BR1接收到该请求消息,则执行步骤724,否则执行步骤723;
步骤723:接收到响应消息的骨干路由器选择一个骨干表项,该骨干表项的坐标与该响应消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该响应消息,执行步骤722;
步骤724:骨干路由器BR1查看接入表,选择一个接入表项,该接入表项的坐标等于该响应消息目的地址的子网前缀,骨干路由器BR1从该接入表项的接口ID所标识的接口转发该响应消息;接入路由器接收到该响应消息后,选择一个节点表项,该节点表项的硬件ID等于该响应消息目的地址的节点ID,该接入路由器将该响应消息的地址集合设置为该节点表项的地址集合,从下游接口转发该响应消息;
步骤725:节点接收到该响应消息后,如果该节点的硬件ID等于该响应消息地址集合的第一个元素,则执行步骤726,否则执行步骤728;
步骤726:接收到响应消息的节点从该响应消息地址集合中删除第一个元素,如果该响应消息的地址集合为空,则执行步骤728,否则执行步骤727;
步骤727:接收到响应消息的节点转发该响应消息,执行步骤725;
步骤728:接收到响应消息的节点保存该响应消息中的数据;
步骤729:结束。
说明书
技术领域
本发明涉及一种通信方法,尤其涉及的是一种高效的新一代无线网络通信方法。
背景技术
近年来,很多研究工作致力于新一代无线网络,以便通过新一代无线网络能够快速获取网络服务。随着新一代无线网络的发展,新一代无线网络会成为未来提供服务的一种模式。
目前,新一代无线网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低新一代无线网络提供数据的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种高效的新一代无线网络通信方法。
技术方案:本发明公开了一种高效的新一代无线网络通信方法,所述新一代无线网络包括路由器和节点;路由器包括骨干路由器和接入路由器;
骨干路由器配置两个以上的上游接口和两个以上的下游接口,上游接口与骨干路由器相连,下游接口与接入路由器相连;骨干路由器的接口均为有线接口;
接入路由器配置一个上游接口和一个下游接口,上游接口与骨干路由器相连,下游接口与节点相连,上游接口为有线接口,下游接口为无线接口;
每个节点配置一个无线接口,与接入路由器或者其他节点链接;
一个接入路由器与一些节点构成一个子网,这些节点在所有接入路由器中与该接入路由器距离最近;一个骨干路由器、与该骨干路由器链接的所有接入路由器以及这些接入路由器所在子网的所有节点构成一个域;
每个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
每个接入路由器和骨干路由器具有网络唯一性的坐标;
每个接入路由器和节点具有网络唯一性的硬件ID,例如MAC地址;
每个节点具有一个地址,该地址包含域前缀、子网前缀和节点ID;域前缀为该节点所在域的骨干路由器的坐标,子网前缀为该节点所在的子网的接入路由器的坐标,节点ID为该节点的硬件ID;
所述新一代无线网络内的消息由消息类型定义,如下表所示:
骨干路由器保存一个骨干表,一个骨干表项包含坐标域、接口ID域和生命周期;骨干消息包含消息类型和坐标值;骨干路由器BR1定期执行下述操作:
步骤101:开始;
步骤102:骨干路由器BR1从每个上游接口发送一个骨干消息,该骨干消息的消息类型值为1,坐标为骨干路由器BR1的坐标;
步骤103:邻居骨干路由器从接口f1接收到骨干消息后查看骨干表,如果存在一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:从接口f1接收到骨干消息的邻居骨干路由器选择一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值,执行步骤106;
步骤105:从接口f1接收到骨干消息的邻居骨干路由器创建一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值;
步骤106:结束。
骨干路由器通过上述过程建立骨干表从而记录邻居骨干路由器的坐标以及接口ID,这样,骨干路由器根据坐标选择一个最优邻居骨干路由器作为到达目的骨干路由器的下一跳从而构建最优路由路径;骨干路由器根据邻居骨干路由器的接口ID来实现消息的正确转发,从而实现正确的数据通信。
本发明所述方法中,骨干路由器保存一个接入表,一个接入表项包含接口ID、坐标和生命周期;接入消息包含消息类型和坐标;接入路由器AR1与骨干路由器BR1链接,接入路由器AR1定期执行下述操作:
步骤201:开始;
步骤202:接入路由器AR1从上游接口发送接入消息,该接入消息的消息类型值为2,坐标为接入路由器AR1的坐标;
步骤203:骨干路由器BR1从接口f2接收到接入消息后查看接入表,判断是否存在一个接入表项,该接入表项的坐标等于该接入消息的坐标,如果是则执行步骤204,否则执行步骤205;
步骤204:从接口f2接收到接入消息的骨干路由器BR1选择一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值,生命周期的最大值一般设置范围为500ms-1s,执行步骤206;
步骤205:从接口f2接收到接入消息的骨干路由器BR1创建一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值;
步骤206:结束。
接入路由器通过上述过程建立接入表从而记录所连接的接入路由器的坐标以及接口ID,这样,骨干路由器根据坐标能够选择一个最优接入路由器作为到达目的节点的下一跳从而构建最优路由路径;骨干路由器根据接入路由器的接口ID来实现消息的正确转发,从而实现正确的数据通信。
本发明所述方法中,每个节点保存一个邻居表,一个邻居表项包含硬件ID、坐标和生命周期;节点消息包含消息类型、坐标和硬件ID;节点ND1定期执行下述操作:
步骤301:开始;
步骤302:节点ND1发送节点消息,该节点消息的消息类型值为3,坐标和硬件ID分别为节点ND1的坐标和硬件ID;
步骤303:邻居节点接收到节点消息后查看邻居表,判断是否存在一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,如果是则执行步骤304,否则执行步骤305;
步骤304:接收到节点消息的邻居节点选择一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值,执行步骤306;
步骤305:接收到节点消息的邻居节点创建一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值;
步骤306:结束。
节点通过上述过程建立邻居表从而获取每个邻居节点的实时坐标和硬件ID,这样,节点根据邻居节点的实时坐标能够选择一个最优邻居节点作为到达目的接入路由器的下一跳从而构建最优路由路径;由于上述过程通过生命周期来确保每个节点坐标的实时性,因此也确保了路由路径的正确性。
本发明所述方法中,接入路由器保存一个节点表,一个节点表项包含坐标、硬件ID、地址集合和生命周期;注册消息包含消息类型、源坐标、源硬件ID、目的坐标和目的硬件ID;
每个节点保存一个接入路由器表,每个接入路由器表项包含硬件ID和坐标;
节点和路由器通过电子地图能够获取每个路由器的坐标以及每个接入路由器的硬件ID;针对每个接入路由器,节点创建一个接入路由器表项,该接入路由器表项的硬件ID和坐标分别等于该接入路由器的硬件ID和坐标;所有节点具有相同的传输半径R,传输半径R取值范围为100m-300m;电子地图预先设置,电子地图中包含每个路由器的坐标以及每个接入路由器的硬件ID;
在所有接入路由器中,如果节点ND1与接入路由器AR1距离最近,节点ND1定期执行下述操作:
步骤401:开始;
步骤402:节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个注册消息,该注册消息的消息类型值为4,源坐标和源硬件ID分别为节点ND1的坐标和硬件ID,目的硬件ID为该邻居表项的硬件ID,目的坐标为接入路由器AR1的坐标;
步骤403:判断是否接入路由器AR1接收到该注册消息,如果是则执行步骤408,否则执行步骤404;
步骤404:接收到注册消息的节点判断自己的硬件ID是否等于该注册消息的目的硬件ID,如果是,则执行步骤405,否则执行步骤408;
步骤405:接收到注册消息的节点判断自己的坐标与该注册消息目的坐标之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤406,否则执行步骤407;
步骤406:接收到注册消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该注册消息的目的坐标,接收到注册消息的节点将该注册消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该注册消息,执行步骤403;
步骤407:接收到注册消息的节点选择一个邻居表项,该邻居表项的坐标与注册消息的目的坐标距离最近,将该注册消息的目的硬件ID更新为该邻居表项的硬件ID,转发该注册消息,执行步骤403;
步骤408:接入路由器AR1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,则将该节点表项的坐标更新为该注册消息的源坐标,将生命周期设置为最大值;否则,接入路由器AR1创建一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,坐标为该注册消息的源坐标,地址集合为空,将生命周期设置为最大值;
步骤409:结束。
节点通过上述过程向距离最近的接入路由器进行注册,由于接入路由器可以获取每个节点的实时坐标和硬件ID,因为它可以根据每个节点的实时坐标构建到达目的节点的最优路由路径;由于上述过程通过生命周期来确保每个节点坐标的实时性,因此也确保了路由路径的最优性和正确性。
本发明所述方法中,所有接入路由器具有相同的传输半径R1,传输半径R1取值范围为100m-300m;从接入路由器到达节点的路由路径由地址集合表示,地址集合包含该路径所包含的节点的硬件ID;接入路由器AR1创建节点表后,针对每个节点表项E1,执行下述操作:
步骤501:开始;
步骤502:接入路由器AR1设置一个地址集合变量as1,地址集合变量as1的初始值为空;如果接入路由器AR1的坐标与节点表项E1的坐标之间的距离小于等于接入路由器AR1的传输半径R1,则执行步骤506,否则执行步骤503;
步骤503:接入路由器AR1选择一个节点表项E2,节点表项E2的坐标与接入路由器AR1的坐标之间的距离小于等于传输半径R1,且节点表项E2的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E2的硬件ID加入到地址集合变量as1中并作为最后一个元素;
步骤504:接入路由器AR1选择一个节点表项E3,节点表项E3的硬件ID等于地址集合变量as1的最后一个元素;如果节点表项E3的坐标与节点表项E1的坐标之间的距离小于等于传输半径R1,则执行步骤506,否则执行步骤505;
步骤505:接入路由器AR1选择一个节点表项E4,节点表项E4的坐标与节点表项E3的坐标之间的距离小于等于传输半径R1,且节点表项E4的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E4的硬件ID加入到地址集合变量as1中并作为最后一个元素,执行步骤504;
步骤506:接入路由器AR1将节点表项E1的硬件ID加入到地址集合变量as1中并作为最后一个元素,将节点表项E1的地址集合设置为变量as1的值;
步骤507:结束。
接入路由器通过上述过程建立自己到达节点的最优路由路径,上述过程通过节点表项来建立路由路径,由于节点表项保存了每个节点的实时坐标,因此确保了接入路由器到达目的节点的路由路径为最优,从而提高了数据通信性能。
本发明所述方法中,在节点ND1距离接入路由器AR1距离最近,节点ND2距离接入路由器AR2距离最近,接入路由器AR1和接入路由器AR2与骨干路由器BR1相连的条件下,节点ND1通过下述过程实现与节点ND2的通信;
其中,请求消息包含消息类型、源地址、目的地址、目的硬件ID和地址集合;响应消息包含消息类型、源地址、目的地址、目的硬件ID、地址集合和负载;
步骤601:开始;
步骤602:节点ND1为自己和节点ND2分别构建一个地址,在节点ND1的地址中,域前缀为0,子网前缀为接入路由器AR1的坐标,硬件ID为节点ND1的硬件ID;在节点ND2的地址中,节点ID等于节点ND2的硬件ID,子网前缀和域前缀均为0;节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个请求消息,该请求消息的消息类型值为5,源地址为节点ND1的地址,目的地址为节点ND2的地址,目的硬件ID等于该邻居表项的硬件ID,地址集合为空;
步骤603:如果接入路由器AR1接收到该请求消息,则执行步骤608,否则执行步骤604;
步骤604:接收到请求消息的节点判断自己的硬件ID是否等于该请求消息的目的硬件ID,如果是,则执行步骤605,否则执行步骤608;
步骤605:接收到请求消息的节点判断自己的坐标与该请求消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤606,否则执行步骤607;
步骤606:接收到请求消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该请求消息源地址的子网前缀,接收到请求消息的节点将该请求消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该请求消息,执行步骤603;
步骤607:接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该请求消息源地址的子网前缀距离最近,接收到请求消息的节点将该请求消息的目的硬件ID更新为该邻居表项的硬件ID,转发该请求消息,执行步骤603;
步骤608:接入路由器AR1接收到该请求消息,从上游接口转发该请求消息;骨干路由器BR1接收到该请求消息后,通过定位服务获取节点ND2的坐标,该坐标与接入路由器AR2距离最近;骨干路由器BR1将该请求消息目的地址的子网前缀设置为接入路由器AR2的坐标;骨干路由器BR1查看接入表,选择一个接入表项,该接入表项的坐标等于该请求消息目的地址的子网前缀,从该接入表项的接口ID所标识的接口转发该请求消息;接入路由器AR2接收到该请求消息后,选择一个节点表项,该节点表项的硬件ID等于该请求消息目的地址的节点ID,将该请求消息的地址集合设置为该节点表项的地址集合,从下游接口转发该请求消息;
步骤609:接收到该请求消息的任一节点判断自己的硬件ID是否等于该请求消息地址集合的第一个元素,如果是,则执行步骤610,否则执行步骤612;
步骤610:接收到请求消息的节点从该请求消息地址集合中删除第一个元素,如果该请求消息地址集合为空,如果是,则执行步骤612,否则执行步骤611;
步骤611:接收到请求消息的节点转发该请求消息,执行步骤609;
步骤612:接收到请求消息的节点构建一个响应消息,该响应消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,地址集合为空,负载为响应数据;接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID设置为该邻居表项的硬件ID,该节点发送该响应消息;
步骤613:如果接入路由器AR2接收到该响应消息,则执行步骤618,否则执行步骤614;
步骤614:接收到响应消息的节点判断自己的硬件ID是否等于该响应消息的目的硬件ID,如果是,则执行步骤615,否则执行步骤623;
步骤615:接收到响应消息的节点判断自己的坐标与该响应消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤616,否则执行步骤617;
步骤616:接收到响应消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该响应消息源地址的子网前缀,将该响应消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该响应消息,执行步骤613;
步骤617:接收到响应消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID更新为该邻居表项的硬件ID,转发该响应消息,执行步骤613;
步骤618:接入路由器AR2接收到该响应消息后,从上游接口转发该响应消息;骨干路由器BR1接收到该响应消息后,选择一个接入表项,该接入表项的坐标等于该响应消息目的地址的子网前缀,骨干路由器BR1从该接入表项的接口ID所标识的接口转发该响应消息;接入路由器AR1接收到该响应消息后,选择一个节点表项,该节点表项的硬件ID等于该响应消息目的地址的节点ID,接入路由器AR1将该响应消息的地址集合设置为该节点表项的地址集合,从下游接口转发该响应消息;
步骤619:节点接收到该响应消息后,如果该节点的硬件ID等于该响应消息地址集合的第一个元素,则执行步骤620,否则执行步骤622;
步骤620:接收到响应消息的节点从该响应消息地址集合中删除第一个元素,如果该响应消息的地址集合为空,则执行步骤622,否则执行步骤621;
步骤621:接收到响应消息的节点转发该响应消息,执行步骤619;
步骤622:接收到响应消息的节点ND1保存该响应消息中的数据;
步骤623:结束。
节点通过上述过程从本地获取数据,由于接入路由器保存了到达每个节点的路由路径,因为上述数据通信过程无需路由建立即可获取数据,从而大幅度降低了数据通信延迟和代价。
本发明所述方法中,在节点ND1距离接入路由器AR1距离最近,接入路由器AR1与骨干路由器BR1相连,节点ND3距离接入路由器AR3距离最近,接入路由器AR3与骨干路由器BR3相连的条件下,节点ND1通过下述过程实现与节点ND3的通信:
步骤701:开始;
步骤702:节点ND1为自己和节点ND3分别构建一个地址,在节点ND1的地址中,域前缀为0,子网前缀为接入路由器AR1的坐标,硬件ID为节点ND1的硬件ID;在节点ND3的地址中,节点ID等于节点ND3的硬件ID,子网前缀和域前缀均为0;节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个请求消息,该请求消息的消息类型值为5,源地址为节点ND1的地址,目的地址为节点ND3的地址,目的硬件ID等于该邻居表项的硬件ID,地址集合为空;
步骤703:如果接入路由器AR1接收到该请求消息,则执行步骤708,否则执行步骤704;
步骤704:接收到请求消息的节点判断自己的硬件ID是否等于该请求消息的目的硬件ID,如果是,则执行步骤705,否则执行步骤708;
步骤705:接收到请求消息的节点查看自己的坐标与该请求消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤706,否则执行步骤707;
步骤706:接收到请求消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该请求消息源地址的子网前缀,接收到请求消息的节点将该请求消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该请求消息,执行步骤703;
步骤707:接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该请求消息源地址的子网前缀距离最近,接收到请求消息的节点将该请求消息的目的硬件ID更新为该邻居表项的硬件ID,转发该请求消息,执行步骤703;
步骤708:接入路由器AR1接收到该请求消息,从上游接口转发该请求消息;骨干路由器BR1接收到该请求消息后,通过定位服务获取节点ND3的坐标,该坐标与接入路由器AR3距离最近,接入路由器AR3距离骨干路由器BR3距离最近;骨干路由器BR1将该请求消息目的地址的域前缀更新为骨干路由器BR3的坐标,将子网前缀设置为接入路由器AR3的坐标;骨干路由器BR3选择一个骨干表项,该骨干表项的坐标与该请求消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该请求消息;
步骤709:如果骨干路由器BR3接收到该请求消息,则执行步骤711,否则执行步骤710;
步骤710:接收到请求消息的骨干路由器选择一个骨干表项,该骨干表项的坐标与该请求消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该请求消息,执行步骤709;
步骤711:骨干路由器BR3查看接入表,选择一个接入表项,该接入表项的坐标等于该请求消息目的地址的子网前缀,骨干路由器BR3从该接入表项的接口ID所标识的接口转发该请求消息;接入路由器AR3接收到该请求消息后,选择一个节点表项,该节点表项的硬件ID等于该请求消息目的地址的节点ID,接入路由器AR3将该请求消息的地址集合设置为该节点表项的地址集合,从下游接口转发该请求消息;
步骤712:接收到该请求消息的任一节点判断自己的硬件ID是否等于该请求消息地址集合的第一个元素,如果是,则执行步骤713,否则执行步骤729;
步骤713:接收到请求消息的节点从该请求消息地址集合中删除第一个元素,如果该请求消息地址集合为空,则执行步骤715,否则执行步骤714;
步骤714:接收到请求消息的节点转发该请求消息,执行步骤712;
步骤715:接收到请求消息的节点构建一个响应消息,该响应消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,地址集合为空,负载为响应数据;接收到请求消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,将该响应消息的目的硬件ID设置为该邻居表项的硬件ID,该节点发送该响应消息;
步骤716:如果接入路由器AR3接收到该响应消息,则执行步骤721,否则执行步骤717;
步骤717:接收到响应消息的节点判断自己的硬件ID是否等于该响应消息的目的硬件ID,如果是,则执行步骤718,否则执行步骤729;
步骤718:接收到响应消息的节点查看自己的坐标与该响应消息源地址的子网前缀之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤719,否则执行步骤720;
步骤719:接收到响应消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该响应消息源地址的子网前缀,接收到响应消息的节点将该响应消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该响应消息,执行步骤716;
步骤720:接收到响应消息的节点选择一个邻居表项,该邻居表项的坐标与该响应消息源地址的子网前缀距离最近,接收到响应消息的节点将该响应消息的目的硬件ID更新为该邻居表项的硬件ID,转发该响应消息,执行步骤716;
步骤721:接入路由器AR3接收到该响应消息后,从上游接口转发该响应消息;骨干路由器BR3接收到该响应消息后,选择一个骨干表项,该骨干表项的坐标与该响应消息目的地址的域前缀距离最近,骨干路由器BR3从该骨干表项的接口ID所标识的接口转发该响应消息;
步骤722:如果骨干路由器BR1接收到该请求消息,则执行步骤724,否则执行步骤723;
步骤723:接收到响应消息的骨干路由器选择一个骨干表项,该骨干表项的坐标与该响应消息目的地址的域前缀距离最近,从该骨干表项的接口ID所标识的接口转发该响应消息,执行步骤722;
步骤724:骨干路由器BR1查看接入表,选择一个接入表项,该接入表项的坐标等于该响应消息目的地址的子网前缀,骨干路由器BR1从该接入表项的接口ID所标识的接口转发该响应消息;接入路由器接收到该响应消息后,选择一个节点表项,该节点表项的硬件ID等于该响应消息目的地址的节点ID,该接入路由器将该响应消息的地址集合设置为该节点表项的地址集合,从下游接口转发该响应消息;
步骤725:节点接收到该响应消息后,如果该节点的硬件ID等于该响应消息地址集合的第一个元素,则执行步骤726,否则执行步骤728;
步骤726:接收到响应消息的节点从该响应消息地址集合中删除第一个元素,如果该响应消息的地址集合为空,则执行步骤728,否则执行步骤727;
步骤727:接收到响应消息的节点转发该响应消息,执行步骤725;
步骤728:接收到响应消息的节点保存该响应消息中的数据;
步骤729:结束。
节点通过上述过程获取远程数据,由于接入路由器保存了到达每个节点的路由路径,因为上述数据通信过程无需路由建立即可获取数据,同时骨干路由器通过邻居路由器的坐标构建到达目的骨干路由器的最优路径,从而大幅度降低了数据通信延迟和代价。
有益效果:本发明提供了一种高效的新一代无线网络通信方法,用户通过本发明所提供的一种高效的新一代无线网络通信方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、环境监测以及健康医疗等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的构建骨干表流程示意图。
图2为本发明所述的构建接入表流程示意图。
图3为本发明所述的构建邻居表流程示意图。
图4为本发明所述的注册流程示意图。
图5为本发明所述的构建路由流程示意图。
图6为本发明所述的数据通信流程示意图。
图7为本发明所述的网络间数据通信流程示意图。
具体实施方式:
本发明提供了一种高效的新一代无线网络通信方法,用户通过本发明所提供的一种高效的新一代无线网络通信方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、环境监测以及健康医疗等领域,具有广泛的应用前景。
图1为本发明所述的构建骨干表流程示意图。所述新一代无线网络包括路由器和节点;路由器包括骨干路由器和接入路由器;
骨干路由器配置两个以上的上游接口和两个以上的下游接口,上游接口与骨干路由器相连,下游接口与接入路由器相连;骨干路由器的接口均为有线接口;
接入路由器配置一个上游接口和一个下游接口,上游接口与骨干路由器相连,下游接口与节点相连,上游接口为有线接口,下游接口为无线接口;
每个节点配置一个无线接口,与接入路由器或者其他节点链接;
一个接入路由器与一些节点构成一个子网,这些节点在所有接入路由器中与该接入路由器距离最近;一个骨干路由器、与该骨干路由器链接的所有接入路由器以及这些接入路由器所在子网的所有节点构成一个域;
每个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
每个接入路由器和骨干路由器具有网络唯一性的坐标;
每个接入路由器和节点具有网络唯一性的硬件ID,例如MAC地址;
每个节点具有一个地址,该地址包含域前缀、子网前缀和节点ID;域前缀为该节点所在域的骨干路由器的坐标,子网前缀为该节点所在的子网的接入路由器的坐标,节点ID为该节点的硬件ID;
所述新一代无线网络内的消息由消息类型定义,如下表所示:
骨干路由器保存一个骨干表,一个骨干表项包含坐标域、接口ID域和生命周期;骨干消息包含消息类型和坐标值;骨干路由器BR1定期执行下述操作:
步骤101:开始;
步骤102:骨干路由器BR1从每个上游接口发送一个骨干消息,该骨干消息的消息类型值为1,坐标为骨干路由器BR1的坐标;
步骤103:邻居骨干路由器从接口f1接收到骨干消息后查看骨干表,如果存在一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:从接口f1接收到骨干消息的邻居骨干路由器选择一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值,执行步骤106;
步骤105:从接口f1接收到骨干消息的邻居骨干路由器创建一个骨干表项,该骨干表项的坐标等于该骨干消息的坐标,将该骨干表项的接口ID设置为f1,将生命周期设置为最大值;
步骤106:结束。
骨干路由器通过上述过程建立骨干表从而记录邻居骨干路由器的坐标以及接口ID,这样,骨干路由器根据坐标选择一个最优邻居骨干路由器作为到达目的骨干路由器的下一跳从而构建最优路由路径;骨干路由器根据邻居骨干路由器的接口ID来实现消息的正确转发,从而实现正确的数据通信。
图2为本发明所述的构建接入表流程示意图。骨干路由器保存一个接入表,一个接入表项包含接口ID、坐标和生命周期;接入消息包含消息类型和坐标;接入路由器AR1与骨干路由器BR1链接,接入路由器AR1定期执行下述操作:
步骤201:开始;
步骤202:接入路由器AR1从上游接口发送接入消息,该接入消息的消息类型值为2,坐标为接入路由器AR1的坐标;
步骤203:骨干路由器BR1从接口f2接收到接入消息后查看接入表,判断是否存在一个接入表项,该接入表项的坐标等于该接入消息的坐标,如果是则执行步骤204,否则执行步骤205;
步骤204:从接口f2接收到接入消息的骨干路由器BR1选择一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值,生命周期的最大值设置范围为500ms-1s,执行步骤206;
步骤205:从接口f2接收到接入消息的骨干路由器BR1创建一个接入表项,该接入表项的坐标等于该接入消息的坐标,将该接入表项的接口ID设置为f2,将生命周期设置为最大值;
步骤206:结束。
接入路由器通过上述过程建立接入表从而记录所连接的接入路由器的坐标以及接口ID,这样,骨干路由器根据坐标能够选择一个最优接入路由器作为到达目的节点的下一跳从而构建最优路由路径;骨干路由器根据接入路由器的接口ID来实现消息的正确转发,从而实现正确的数据通信。
图3为本发明所述的构建邻居表流程示意图。每个节点保存一个邻居表,一个邻居表项包含硬件ID、坐标和生命周期;节点消息包含消息类型、坐标和硬件ID;节点ND1定期执行下述操作:
步骤301:开始;
步骤302:节点ND1发送节点消息,该节点消息的消息类型值为3,坐标和硬件ID分别为节点ND1的坐标和硬件ID;
步骤303:邻居节点接收到节点消息后查看邻居表,判断是否存在一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,如果是则执行步骤304,否则执行步骤305;
步骤304:接收到节点消息的邻居节点选择一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值,执行步骤306;
步骤305:接收到节点消息的邻居节点创建一个邻居表项,该邻居表项的硬件ID等于该节点消息的硬件ID,将该邻居表项的坐标设置为该节点消息的坐标,将生命周期设置为最大值;
步骤306:结束。
节点通过上述过程建立邻居表从而获取每个邻居节点的实时坐标和硬件ID,这样,节点根据邻居节点的实时坐标能够选择一个最优邻居节点作为到达目的接入路由器的下一跳从而构建最优路由路径;由于上述过程通过生命周期来确保每个节点坐标的实时性,因此也确保了路由路径的正确性。
图4为本发明所述的注册流程示意图。接入路由器保存一个节点表,一个节点表项包含坐标、硬件ID、地址集合和生命周期;注册消息包含消息类型、源坐标、源硬件ID、目的坐标和目的硬件ID;
每个节点保存一个接入路由器表,每个接入路由器表项包含硬件ID和坐标;
节点和路由器通过电子地图能够获取每个路由器的坐标以及每个接入路由器的硬件ID;针对每个接入路由器,节点创建一个接入路由器表项,该接入路由器表项的硬件ID和坐标分别等于该接入路由器的硬件ID和坐标;所有节点具有相同的传输半径R,传输半径R取值范围为100m-300m;电子地图预先设置,电子地图中包含每个路由器的坐标以及每个接入路由器的硬件ID;
在所有接入路由器中,如果节点ND1与接入路由器AR1距离最近,节点ND1定期执行下述操作:
步骤401:开始;
步骤402:节点ND1选择一个邻居表项,该邻居表项的坐标与接入路由器AR1的坐标距离最近,节点ND1发送一个注册消息,该注册消息的消息类型值为4,源坐标和源硬件ID分别为节点ND1的坐标和硬件ID,目的硬件ID为该邻居表项的硬件ID,目的坐标为接入路由器AR1的坐标;
步骤403:判断是否接入路由器AR1接收到该注册消息,如果是则执行步骤408,否则执行步骤404;
步骤404:接收到注册消息的节点判断自己的硬件ID是否等于该注册消息的目的硬件ID,如果是,则执行步骤405,否则执行步骤408;
步骤405:接收到注册消息的节点判断自己的坐标与该注册消息目的坐标之间的距离是否小于等于自己的传输半径R,如果是,则执行步骤406,否则执行步骤407;
步骤406:接收到注册消息的节点选择一个接入路由器表项,该接入路由器表项的坐标等于该注册消息的目的坐标,接收到注册消息的节点将该注册消息的目的硬件ID更新为该接入路由器表项的硬件ID,转发该注册消息,执行步骤403;
步骤407:接收到注册消息的节点选择一个邻居表项,该邻居表项的坐标与注册消息的目的坐标距离最近,将该注册消息的目的硬件ID更新为该邻居表项的硬件ID,转发该注册消息,执行步骤403;
步骤408:接入路由器AR1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,则将该节点表项的坐标更新为该注册消息的源坐标,将生命周期设置为最大值;否则,接入路由器AR1创建一个节点表项,该节点表项的硬件ID等于该注册消息的源硬件ID,坐标为该注册消息的源坐标,地址集合为空,将生命周期设置为最大值;
步骤409:结束。
节点通过上述过程向距离最近的接入路由器进行注册,由于接入路由器可以获取每个节点的实时坐标和硬件ID,因为它可以根据每个节点的实时坐标构建到达目的节点的最优路由路径;由于上述过程通过生命周期来确保每个节点坐标的实时性,因此也确保了路由路径的最优性和正确性。
图5为本发明所述的构建路由流程示意图。所有接入路由器具有相同的传输半径R1,传输半径R1取值范围为100m-300m;从接入路由器到达节点的路由路径由地址集合表示,地址集合包含该路径所包含的节点的硬件ID;接入路由器AR1创建节点表后,针对每个节点表项E1,执行下述操作:
步骤501:开始;
步骤502:接入路由器AR1设置一个地址集合变量as1,地址集合变量as1的初始值为空;如果接入路由器AR1的坐标与节点表项E1的坐标之间的距离小于等于接入路由器AR1的传输半径R1,则执行步骤506,否则执行步骤503;
步骤503:接入路由器AR1选择一个节点表项E2,节点表项E2的坐标与接入路由器AR1的坐标之间的距离小于等于传输半径R1,且节点表项E2的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E2的硬件ID加入到地址集合变量as1中并作为最后一个元素;
步骤504:接入路由器AR1选择一个节点表项E3,节点表项E3的硬件ID等于地址集合变量as1的最后一个元素;如果节点表项E3的坐标与节点表项E1的坐标之间的距离小于等于传输半径R1,则执行步骤506,否则执行步骤505;
步骤505:接入路由器AR1选择一个节点表项E4,节点表项E4的坐标与节点表项E3的坐标之间的距离小于等于传输半径R1,且节点表项E4的坐标与节点表项E1的坐标之间的距离最近,接入路由器AR1将节点表项E4的硬件ID加入到地址集合变量as1中并作为最后一个元素,执行步骤504;
步骤506:接入路由器AR1将节点表项E1的硬件ID加入到地址集合变量as1中并作为最后一个元素,将节点表项E1的地址集合设置为变量as1的值;
步骤507:结束。
接入路由器通过上述过程建立自己到达节点的最优路由路径,上述过程通过节点表项来建立路由路径,由于节点表项保存了每个节点的实时坐标,因此确保了接入路由器到达目的节点的路由路径为最优,从而提高了数据通信性能。
图6为本发明所述的数据通信流程示意图。在节点ND1距离接入路由器AR1距离最近,节点ND2距离接入路由器AR2距离最近,接入路由器AR1和接入路由器AR2与骨干路由器BR1相连的条件下,节点ND1通过下述过程实现与节点ND2的通信;
其
一种高效的新一代无线网络通信方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0