一种基于预切换机制的移动网络数据通信实现方法转让专利

申请号 : CN201811240597.1

文献号 : CN109327881B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓喃秦湘平姚宇峰

申请人 : 常熟理工学院

摘要 :

本发明提供了一种基于预切换机制的移动网络数据通信实现方法,所述网络包括接入路由器和设备;一个接入路由器配置两个以上的有线接口和一个无线接口;一个设备配置一个无线接口;接入路由器的有线接口与接入路由器相连,无线接口与设备链接;无线接口和有线接口统称为接口;用户通过本发明所提供的基于预切换机制的移动网络数据通信实现方法能够快速获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

权利要求 :

1.一种基于预切换机制的移动网络数据通信实现方法,其特征在于,所述网络包括接入路由器和设备;

一个接入路由器配置两个以上的有线接口和一个无线接口;一个设备配置一个无线接口;接入路由器的有线接口与接入路由器相连,无线接口与设备连接;无线接口和有线接口统称为接口;

一个接入路由器具有唯一的坐标,每个接口由接口ID唯一标识;接口ID为x的接口记为接口x;一种数据由名称唯一标识;一个设备由硬件ID唯一标识;

一个消息由消息类型唯一标识,消息类型如下表所示:

消息类型值 消息名称

1 邻居消息

2 设备消息

3 发布消息

4 移动消息

5 删除消息

6 查询消息

7 确认消息

路由器保存一个邻居表,每个邻居表项包含接口ID域、坐标域和生命周期域;邻居消息包含消息类型和坐标域;接入路由器AR1定期执行下述操作:步骤101:开始;

步骤102:接入路由器AR1从每个有线接口发送邻居消息,该邻居消息的消息类型值为

1,坐标为接入路由器AR1的坐标;

步骤103:接入路由器从有线接口f1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,则执行步骤104,否则执行步骤105;

步骤104:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,将该邻居表项的生命周期设置为最大值,执行步骤108;

步骤105:从有线接口f1接收到该邻居消息的接入路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤106,否则执行步骤107;

步骤106:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的接口ID更新为f1,将该邻居表项的生命周期设置为最大值,执行步骤108;

步骤107:从有线接口f1接收到该邻居消息的接入路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,该邻居表项的接口ID等于f1,将该邻居表项的生命周期设置为最大值;

步骤108:结束;

接入路由器保存一个设备表,一个设备表项包含硬件ID、坐标、名称集合以及生命周期域;设备消息包含消息类型、硬件ID、坐标和名称集合;设备D1与接入路由器AR1连接,定期执行下述操作:步骤201:开始;

步骤202:设备D1发送设备消息,该设备消息的消息类型值为2,硬件ID等于设备D1的硬件ID,坐标为设备D1的坐标,名称集合由设备D1所能提供的数据的名称构成;

步骤203:接入路由器接收到该设备消息后查看设备表,如果存在一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,则执行步骤204,否则执行步骤205;

步骤204:接收到该设备消息的接入路由器选择一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,将该设备表项的坐标以及名称集合分别更新为该设备消息的坐标以及名称集合,将生命周期设置为最大值,执行步骤206;

步骤205:接收到该设备消息的接入路由器创建一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,该设备表项的坐标以及名称集合分别等于该设备消息的坐标以及名称集合,将生命周期设置为最大值;

步骤206:结束;

接入路由器保存一个路由表,一个路由表项包含接口ID、名称以及生命周期;一个发布消息包含消息类型和名称;数据DA1由名称NA1唯一标识;如果设备D1能够提供数据DA1,设备D1定期执行下述操作维护路由表:步骤301:开始;

步骤302:设备D1发送一个发布消息,该发布消息的消息类型值为3,名称为NA1;

步骤303:接入路由器从接口x1接收到该发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤310,否则执行步骤304;

步骤304:从接口x1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,则执行步骤305,否则执行步骤306;

步骤305:从接口x1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值,执行步骤307;

步骤306:从接口x1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值;

步骤307:从接口x1接收到该发布消息的接入路由器判断接口x1是否为自己的无线接口,如果是,则执行步骤308,否则执行步骤309;

步骤308:从接口x1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤303;

步骤309:从接口x1接收到该发布消息的接入路由器从除了接口x1以外的每个有线接口转发该发布消息,执行步骤303;

步骤310:结束;

移动消息包含消息类型和名称集合域;删除消息包含消息类型和名称域;设备D1与接入路由器AR1连接,如果接入路由器AR1检测到自己距离设备D1的距离大于阈值TH2,则接入路由器AR1执行下述操作:步骤401:开始;

步骤402:接入路由器AR1选择设备表项E1,设备表项E1的硬件ID等于设备D1的硬件ID,然后接入路由器AR1选择一个邻居表项,该邻居表项的坐标与设备表项E1的坐标距离最近,从选中的邻居表项的接口ID所标识的接口发送一个移动消息,该移动消息的消息类型值为

4,名称集合等于设备表项E1的名称集合;针对设备表项E1的名称集合中的每个名称NA2,接入路由器AR1执行下述操作:如果除了设备表项E1之外至少存在一个设备表项,该设备表项的名称集合包含名称NA2,则接入路由器AR1则不执行任何操作;否则,接入路由器AR1从每个有线接口发送一个删除消息,该删除消息中,消息类型值为5,名称等于名称NA2;接入路由器AR1选择一个路由表项,该路由表项的名称域值等于NA2且接口ID等于接入路由器AR1无线接口的接口ID,删除选中的路由表项;接入路由器AR1创建一个路由表项,该路由表项的名称域值等于名称NA2且接口ID等于选中的邻居表项的接口ID,生命周期设置为最大值;

步骤403:接入路由器从接口y1接收到一个消息,如果该消息为移动消息,则执行步骤

404,否则执行步骤405;

步骤404:接收到移动消息的接入路由器查看设备表,针对移动消息的名称集合中的每个名称NA3,该接入路由器执行下述操作:如果存在一个设备表项,该设备表项的名称集合包含名称NA3,该接入路由器则不执行任何操作;否则,该接入路由器创建一个路由表项,该路由表项的名称域值等于名称NA3且接口ID等于该接入路由器无线接口的接口ID,生命周期设置为最大值,该接入路由器从每个有线接口发送一个发布消息,该发布消息的消息类型值为3,名称为NA3,执行步骤403;

步骤405:如果接入路由器从接口y1接收到删除消息,则执行步骤406,否则执行步骤

409;

步骤406:从接口y1接收到删除消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,则执行步骤407,否则执行步骤416;

步骤407:从接口y1接收到删除消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,删除该路由表项,接入路由器判断是否存在一个路由表项,该路由表项的名称域值等于该删除消息的名称域值,如果存在,则执行步骤416,否则执行步骤408;

步骤408:从接口y1接收到删除消息的接入路由器从除了接口y1以外的每个有线接口转发该删除消息,执行步骤405;

步骤409:接入路由器从接口y1接收到发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤416,否则执行步骤410;

步骤410:从接口y1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则执行步骤411,否则执行步骤412;

步骤411:从接口y1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值,执行步骤413;

步骤412:从接口y1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值;

步骤413:从接口y1接收到该发布消息的接入路由器判断接口y1是否为自己的无线接口,如果是,则执行步骤414,否则执行步骤415;

步骤414:从接口y1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤409;

步骤415:从接口y1接收到该发布消息的接入路由器从除了接口y1以外的每个有线接口转发该发布消息,执行步骤409;

步骤416:结束。

2.根据权利要求1所述的一种基于预切换机制的移动网络数据通信实现方法,其特征在于,接入路由器保存一个查询表,一个查询表项包含接口ID和名称域;查询消息包括消息类型和名称;确认消息包括消息类型、名称和数值域;数据DA4由名称NA4标识,设备D2通过下述过程获取数据DA4:步骤501:开始;

步骤502:设备D2发送查询消息,该查询消息的消息类型值为6,名称为NA4;

步骤503:判断是接入路由器从接口z1还是设备接收到该查询消息,如果是设备则执行步骤510,否则执行步骤504;

步骤504:接入路由器从接口z1接收到查询消息后查看查询表,如果存在一个查询表项,该查询表项的接口ID等于z1且名称等于该查询消息的名称,则执行步骤512,否则执行步骤505;

步骤505:从接口z1接收到查询消息的接入路由器查看查询表,如果存在一个查询表项,该查询表项的名称等于该查询消息的名称,则执行步骤506,否则执行步骤507;

步骤506:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1,执行步骤512;

步骤507:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1;如果存在一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该接入路由器的无线接口,则执行步骤508,否则执行步骤509;

步骤508:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该路由器的无线接口,从该无线接口转发该查询消息,执行步骤503;

步骤509:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称,从该路由表项的接口ID所标识的接口转发该查询消息,执行步骤503;

步骤510:设备接收到查询消息后,如果该设备能提供该查询消息名称域值所标识的数据,则执行步骤511,否则执行步骤515;

步骤511:接收到查询消息的设备发送一个确认消息,该确认消息的消息类型值为7,名称等于该查询消息的名称,数值域为该查询消息名称域值所标识的数据;

步骤512:如果设备接收到该确认消息,则执行步骤514,否则执行步骤513;

步骤513:接收到确认消息的接入路由器选择所有名称域值等于该确认消息名称域值的查询表项,针对每个选中的查询表项,该接入路由器从该查询表项的接口ID域值所标识的接口转发该确认消息,删除该查询表项,执行步骤512;

步骤514:设备接收到该确认消息后,保存该确认消息负载中的数据;

步骤515:结束。

说明书 :

一种基于预切换机制的移动网络数据通信实现方法

技术领域

[0001] 本发明涉及一种实现方法,尤其涉及的是一种基于预切换机制的移动网络数据通信实现方法。

背景技术

[0002] 近年来,很多研究工作致力于移动网络,以便通过移动网络能够快速获取网络服务。随着移动网络技术的发展,移动网络会成为未来提供服务的一种模式。
[0003] 目前,移动网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低移动网络提供数据的延迟和代价成为近年来研究的热点问题。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于预切换机制的移动网络数据通信实现方法。
[0005] 技术方案:本发明公开了一种基于预切换机制的移动网络数据通信实现方法,所述网络包括接入路由器和设备;一个接入路由器配置两个以上的有线接口和一个无线接口;一个设备配置一个无线接口;接入路由器的有线接口与接入路由器相连,无线接口与设备链接;无线接口和有线接口统称为接口;一个接入路由器具有唯一的坐标,每个接口由接口ID唯一标识;接口ID为x的接口记为接口x;一种数据由名称唯一标识;一个设备由硬件ID唯一标识,该硬件ID可以为该设备的无线接口的MAC地址;一个消息由消息类型唯一标识,消息类型如下表所示:
[0006]消息类型值 消息名称
1 邻居消息
2 设备消息
3 发布消息
4 移动消息
5 删除消息
6 查询消息
7 确认消息
[0007] 路由器保存一个邻居表,每个邻居表项包含接口ID域、坐标域和生命周期域;邻居消息包含消息类型和坐标域;接入路由器AR1定期执行下述操作:
[0008] 步骤101:开始;
[0009] 步骤102:接入路由器AR1从每个有线接口发送邻居消息,该邻居消息的消息类型值为1,坐标为接入路由器AR1的坐标;
[0010] 步骤103:接入路由器从有线接口f1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,则执行步骤104,否则执行步骤105;
[0011] 步骤104:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,将该邻居表项的生命周期设置为最大值,执行步骤108;
[0012] 步骤105:从有线接口f1接收到该邻居消息的接入路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤106,否则执行步骤107;
[0013] 步骤106:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的接口ID更新为f1,将该邻居表项的生命周期设置为最大值,执行步骤108;
[0014] 步骤107:从有线接口f1接收到该邻居消息的接入路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,该邻居表项的接口ID等于f1,将该邻居表项的生命周期设置为最大值;
[0015] 步骤108:结束。
[0016] 接入路由器通过执行上述过程建立邻居表从而记录每个邻居接入路由器的信息;接入路由器通过邻居表中的邻居接入路由器的坐标能够有效判断设备新关联的接入路由器从而快速执行移动切换操作,提高数据通信性能,降低丢包率;同时,接入路由器通过邻居表的生命周期来确保邻居接入路由器的坐标有效性,从而确保切换操作的正确性,减少丢包率。
[0017] 本发明所述方法中,接入路由器保存一个设备表,一个设备表项包含硬件ID、坐标、名称集合以及生命周期域;设备消息包含消息类型、硬件ID、坐标和名称集合;设备D1与接入路由器AR1链接,定期执行下述操作:
[0018] 步骤201:开始;
[0019] 步骤202:设备D1发送设备消息,该设备消息的消息类型值为2,硬件ID等于设备D1的硬件ID,坐标为设备D1的坐标,名称集合由设备D1所能提供的数据的名称构成;
[0020] 步骤203:接入路由器接收到该设备消息后查看设备表,如果存在一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,则执行步骤204,否则执行步骤205;
[0021] 步骤204:接收到该设备消息的接入路由器选择一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,将该设备表项的坐标以及名称集合分别更新为该设备消息的坐标以及名称集合,将生命周期设置为最大值,执行步骤206;
[0022] 步骤205:接收到该设备消息的接入路由器创建一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,该设备表项的坐标以及名称集合分别等于该设备消息的坐标以及名称集合,将生命周期设置为最大值;
[0023] 步骤206:结束。
[0024] 设备通过执行上述过程建立设备表,接入路由器通过设备表获取所关联的设备的坐标,从而能够有效检测设备与自己的距离从而判断该设备是否要执行切换操作,同时接入路由器通过设备表的生命周期来确保所关联的设备的有效性以及所能提供的数据的名称,从而确保该设备能够有效提供数据,减少丢包率。本发明所述方法中,接入路由器保存一个路由表,一个路由表项包含接口ID、名称以及生命周期;一个发布消息包含消息类型和名称;数据DA1由名称NA1唯一标识;如果设备D1能够提供数据DA1,设备D1定期执行下述操作维护路由表:
[0025] 步骤301:开始;
[0026] 步骤302:设备D1发送一个发布消息,该发布消息的消息类型值为3,名称为NA1;
[0027] 步骤303:接入路由器从接口x1接收到该发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤310,否则执行步骤304;
[0028] 步骤304:从接口x1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,则执行步骤305,否则执行步骤306;
[0029] 步骤305:从接口x1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值,执行步骤307;
[0030] 步骤306:从接口x1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值;
[0031] 步骤307:从接口x1接收到该发布消息的接入路由器判断接口x1是否为自己的无线接口,如果是,则执行步骤308,否则执行步骤309;
[0032] 步骤308:从接口x1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤303;
[0033] 步骤309:从接口x1接收到该发布消息的接入路由器从除了接口x1以外的每个有线接口转发该发布消息,执行步骤303;
[0034] 步骤310:结束。
[0035] 设备通过执行上述过程建立路由表,从而建立路由器到达该设备的路由路径;接入路由器通过路由表的生命周期来确保每个路由表项的有效性,从而确保设备能够有效提供数据,减少丢包率。
[0036] 本发明所述方法中,移动消息包含消息类型和名称集合域;删除消息包含消息类型和名称域;设备D1与接入路由器AR1链接,如果接入路由器AR1检测到自己距离设备D1的距离大于阈值TH2,阈值TH2可以设置为通信半径的70%,则接入路由器AR1执行下述操作:
[0037] 步骤401:开始;
[0038] 步骤402:接入路由器AR1选择设备表项E1,设备表项E1的硬件ID等于设备D1的硬件ID,然后接入路由器AR1选择一个邻居表项,该邻居表项的坐标与设备表项E1的坐标距离最近,从选中的邻居表项的接口ID所标识的接口发送一个移动消息,该移动消息的消息类型值为4,名称集合等于设备表项E1的名称集合;针对设备表项E1的名称集合中的每个名称NA2,接入路由器AR1执行下述操作:如果除了设备表项E1之外至少存在一个设备表项,该设备表项的名称集合包含名称NA2,则接入路由器AR1则不执行任何操作;否则,接入路由器AR1从每个有线接口发送一个删除消息,该删除消息中,消息类型值为5,名称等于名称NA2;接入路由器AR1选择一个路由表项,该路由表项的名称域值等于NA2且接口ID等于接入路由器AR1无线接口的接口ID,删除选中的路由表项;接入路由器AR1创建一个路由表项,该路由表项的名称域值等于名称NA2且接口ID等于选中的邻居表项的接口ID,生命周期设置为最大值;
[0039] 步骤403:接入路由器从接口y1接收到一个消息,如果该消息为移动消息,则执行步骤404,否则执行步骤405;
[0040] 步骤404:接收到移动消息的接入路由器查看设备表,针对移动消息的名称集合中的每个名称NA3,该接入路由器执行下述操作:如果存在一个设备表项,该设备表项的名称集合包含名称NA3,该接入路由器则不执行任何操作;否则,该接入路由器创建一个路由表项,该路由表项的名称域值等于名称NA3且接口ID等于该接入路由器无线接口的接口ID,生命周期设置为最大值,该接入路由器从每个有线接口发送一个发布消息,该发布消息的消息类型值为3,名称为NA3,执行步骤403;
[0041] 步骤405:如果接入路由器从接口y1接收到删除消息,则执行步骤406,否则执行步骤409;
[0042] 步骤406:从接口y1接收到删除消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,则执行步骤407,否则执行步骤416;
[0043] 步骤407:从接口y1接收到删除消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,删除该路由表项,接入路由器判断是否存在一个路由表项,该路由表项的名称域值等于该删除消息的名称域值,如果存在,则执行步骤416,否则执行步骤408;
[0044] 步骤408:从接口y1接收到删除消息的接入路由器从除了接口y1以外的每个有线接口转发该删除消息,执行步骤405;
[0045] 步骤409:接入路由器从接口y1接收到发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤416,否则执行步骤410;
[0046] 步骤410:从接口y1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则执行步骤411,否则执行步骤412;
[0047] 步骤411:从接口y1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值,执行步骤413;
[0048] 步骤412:从接口y1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值;
[0049] 步骤413:从接口y1接收到该发布消息的接入路由器判断接口y1是否为自己的无线接口,如果是,则执行步骤414,否则执行步骤415;
[0050] 步骤414:从接口y1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤409;
[0051] 步骤415:从接口y1接收到该发布消息的接入路由器从除了接口y1以外的每个有线接口转发该发布消息,执行步骤409;
[0052] 步骤416:结束。
[0053] 接入路由器通过上述过程能够快速实现设备的移动切换操作从而确保通信的正确性。上述过程通过设备表和邻居表来获取设备的下一个关联的接入路由器从而及时建立路由表项以确保数据通信的正确性,减少丢包率;同时,上述过程通过更新路由表项来确保路由表项的正确性和有效性,从而确保路由表的正确性,提高数据通信性能。
[0054] 本发明所述方法中,接入路由器保存一个查询表,一个查询表项包含接口ID和名称域;查询消息包括消息类型和名称;确认消息包括消息类型、名称和数值域;数据DA4由名称NA4标识,设备D2通过下述过程获取数据DA4:
[0055] 步骤501:开始;
[0056] 步骤502:设备D2发送查询消息,该查询消息的消息类型值为6,名称为NA4;
[0057] 步骤503:判断是接入路由器从接口z1还是设备接收到该查询消息,如果是设备则执行步骤510,否则执行步骤504;
[0058] 步骤504:接入路由器从接口z1接收到查询消息后查看查询表,如果存在一个查询表项,该查询表项的接口ID等于z1且名称等于该查询消息的名称,则执行步骤512,否则执行步骤505;
[0059] 步骤505:从接口z1接收到查询消息的接入路由器查看查询表,如果存在一个查询表项,该查询表项的名称等于该查询消息的名称,则执行步骤506,否则执行步骤507;
[0060] 步骤506:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1,执行步骤512;
[0061] 步骤507:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1;如果存在一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该接入路由器的无线接口,则执行步骤508,否则执行步骤509;
[0062] 步骤508:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该路由器的无线接口,从该无线接口转发该查询消息,执行步骤503;
[0063] 步骤509:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称,从该路由表项的接口ID所标识的接口转发该查询消息,执行步骤503;
[0064] 步骤510:设备接收到查询消息后,如果该设备能提供该查询消息名称域值所标识的数据,则执行步骤511,否则执行步骤515;
[0065] 步骤511:接收到查询消息的设备发送一个确认消息,该确认消息的消息类型值为7,名称等于该查询消息的名称,数值域为该查询消息名称域值所标识的数据;
[0066] 步骤512:如果设备接收到该确认消息,则执行步骤514,否则执行步骤513;
[0067] 步骤513:接收到确认消息的接入路由器选择所有名称域值等于该确认消息名称域值的查询表项,针对每个选中的查询表项,该接入路由器从该查询表项的接口ID域值所标识的接口转发该确认消息,删除该查询表项,执行步骤512;
[0068] 步骤514:设备接收到该确认消息后,保存该确认消息负载中的数据;
[0069] 步骤515:结束。
[0070] 设备通过上述过程能够快速获取所需数据。上述过程通过路由表和设备表能够从距离最近的数据提供者获取数据,从而降低了数据通信延迟和代价;同时,上述过程通过查询表实现数据通信,即两个以上的设备通过一次数据通信过程即可同时获取数据,从而进一步降低了数据通信延迟和代价。
[0071] 有益效果:本发明提供了一种基于预切换机制的移动网络数据通信实现方法,用户通过本发明所提供的基于预切换机制的移动网络数据通信实现方法能够快速获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

[0072] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0073] 图1为本发明所述的创建邻居表流程示意图。
[0074] 图2为本发明所述的创建设备表流程示意图。
[0075] 图3为本发明所述的维护路由表流程示意图。
[0076] 图4为本发明所述的更新流程示意图。
[0077] 图5为本发明所述的数据通信流程示意图。具体实施方式:
[0078] 本发明提供了一种基于预切换机制的移动网络数据通信实现方法,用户通过本发明所提供的基于预切换机制的移动网络数据通信实现方法能够快速获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
[0079] 图1为本发明所述的创建邻居表流程示意图。所述网络包括接入路由器和设备;
[0080] 一个接入路由器配置两个以上的有线接口和一个无线接口;一个设备配置一个无线接口;接入路由器的有线接口与接入路由器相连,无线接口与设备链接;无线接口和有线接口统称为接口;
[0081] 一个接入路由器具有唯一的坐标,每个接口由接口ID唯一标识;接口ID为x的接口记为接口x;一种数据由名称唯一标识;一个设备由硬件ID唯一标识,该硬件ID可以为该设备的无线接口的MAC地址;
[0082] 一个消息由消息类型唯一标识,消息类型如下表所示:
[0083]
[0084]
[0085] 路由器保存一个邻居表,每个邻居表项包含接口ID域、坐标域和生命周期域;邻居消息包含消息类型和坐标域;接入路由器AR1定期执行下述操作:
[0086] 步骤101:开始;
[0087] 步骤102:接入路由器AR1从每个有线接口发送邻居消息,该邻居消息的消息类型值为1,坐标为接入路由器AR1的坐标;
[0088] 步骤103:接入路由器从有线接口f1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,则执行步骤104,否则执行步骤105;
[0089] 步骤104:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标且接口ID等于f1,将该邻居表项的生命周期设置为最大值,执行步骤108;
[0090] 步骤105:从有线接口f1接收到该邻居消息的接入路由器查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤106,否则执行步骤107;
[0091] 步骤106:从有线接口f1接收到该邻居消息的接入路由器选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的接口ID更新为f1,将该邻居表项的生命周期设置为最大值,执行步骤108;
[0092] 步骤107:从有线接口f1接收到该邻居消息的接入路由器创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,该邻居表项的接口ID等于f1,将该邻居表项的生命周期设置为最大值;
[0093] 步骤108:结束。
[0094] 接入路由器通过执行上述过程建立邻居表从而记录每个邻居接入路由器的信息;接入路由器通过邻居表中的邻居接入路由器的坐标能够有效判断设备新关联的接入路由器从而快速执行移动切换操作,提高数据通信性能,降低丢包率;同时,接入路由器通过邻居表的生命周期来确保邻居接入路由器的坐标有效性,从而确保切换操作的正确性,减少丢包率。
[0095] 图2为本发明所述的创建设备表流程示意图。接入路由器保存一个设备表,一个设备表项包含硬件ID、坐标、名称集合以及生命周期域;设备消息包含消息类型、硬件ID、坐标和名称集合;设备D1与接入路由器AR1链接,定期执行下述操作:
[0096] 步骤201:开始;
[0097] 步骤202:设备D1发送设备消息,该设备消息的消息类型值为2,硬件ID等于设备D1的硬件ID,坐标为设备D1的坐标,名称集合由设备D1所能提供的数据的名称构成;
[0098] 步骤203:接入路由器接收到该设备消息后查看设备表,如果存在一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,则执行步骤204,否则执行步骤205;
[0099] 步骤204:接收到该设备消息的接入路由器选择一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,将该设备表项的坐标以及名称集合分别更新为该设备消息的坐标以及名称集合,将生命周期设置为最大值,执行步骤206;
[0100] 步骤205:接收到该设备消息的接入路由器创建一个设备表项,该设备表项的硬件ID等于该设备消息的硬件ID,该设备表项的坐标以及名称集合分别等于该设备消息的坐标以及名称集合,将生命周期设置为最大值;
[0101] 步骤206:结束。
[0102] 设备通过执行上述过程建立设备表,接入路由器通过设备表获取所关联的设备的坐标,从而能够有效检测设备与自己的距离从而判断该设备是否要执行切换操作,同时接入路由器通过设备表的生命周期来确保所关联的设备的有效性以及所能提供的数据的名称,从而确保该设备能够有效提供数据,减少丢包率。
[0103] 图3为本发明所述的维护路由表流程示意图。接入路由器保存一个路由表,一个路由表项包含接口ID、名称以及生命周期;一个发布消息包含消息类型和名称;数据DA1由名称NA1唯一标识;如果设备D1能够提供数据DA1,设备D1定期执行下述操作维护路由表:
[0104] 步骤301:开始;
[0105] 步骤302:设备D1发送一个发布消息,该发布消息的消息类型值为3,名称为NA1;
[0106] 步骤303:接入路由器从接口x1接收到该发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤310,否则执行步骤304;
[0107] 步骤304:从接口x1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,则执行步骤305,否则执行步骤306;
[0108] 步骤305:从接口x1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于x1且名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值,执行步骤307;
[0109] 步骤306:从接口x1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于x1,名称等于该发布消息的名称,将该路由表项的生命周期设置为最大值;
[0110] 步骤307:从接口x1接收到该发布消息的接入路由器判断接口x1是否为自己的无线接口,如果是,则执行步骤308,否则执行步骤309;
[0111] 步骤308:从接口x1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤303;
[0112] 步骤309:从接口x1接收到该发布消息的接入路由器从除了接口x1以外的每个有线接口转发该发布消息,执行步骤303;
[0113] 步骤310:结束。
[0114] 设备通过执行上述过程建立路由表,从而建立路由器到达该设备的路由路径;接入路由器通过路由表的生命周期来确保每个路由表项的有效性,从而确保设备能够有效提供数据,减少丢包率。
[0115] 图4为本发明所述的更新流程示意图。移动消息包含消息类型和名称集合域;删除消息包含消息类型和名称域;设备D1与接入路由器AR1链接,如果接入路由器AR1检测到自己距离设备D1的距离大于阈值TH2,阈值TH2可以设置为通信半径的70%,则接入路由器AR1执行下述操作:
[0116] 步骤401:开始;
[0117] 步骤402:接入路由器AR1选择设备表项E1,设备表项E1的硬件ID等于设备D1的硬件ID,然后接入路由器AR1选择一个邻居表项,该邻居表项的坐标与设备表项E1的坐标距离最近,从选中的邻居表项的接口ID所标识的接口发送一个移动消息,该移动消息的消息类型值为4,名称集合等于设备表项E1的名称集合;针对设备表项E1的名称集合中的每个名称NA2,接入路由器AR1执行下述操作:如果除了设备表项E1之外至少存在一个设备表项,该设备表项的名称集合包含名称NA2,则接入路由器AR1则不执行任何操作;否则,接入路由器AR1从每个有线接口发送一个删除消息,该删除消息中,消息类型值为5,名称等于名称NA2;接入路由器AR1选择一个路由表项,该路由表项的名称域值等于NA2且接口ID等于接入路由器AR1无线接口的接口ID,删除选中的路由表项;接入路由器AR1创建一个路由表项,该路由表项的名称域值等于名称NA2且接口ID等于选中的邻居表项的接口ID,生命周期设置为最大值;
[0118] 步骤403:接入路由器从接口y1接收到一个消息,如果该消息为移动消息,则执行步骤404,否则执行步骤405;
[0119] 步骤404:接收到移动消息的接入路由器查看设备表,针对移动消息的名称集合中的每个名称NA3,该接入路由器执行下述操作:如果存在一个设备表项,该设备表项的名称集合包含名称NA3,该接入路由器则不执行任何操作;否则,该接入路由器创建一个路由表项,该路由表项的名称域值等于名称NA3且接口ID等于该接入路由器无线接口的接口ID,生命周期设置为最大值,该接入路由器从每个有线接口发送一个发布消息,该发布消息的消息类型值为3,名称为NA3,执行步骤403;
[0120] 步骤405:如果接入路由器从接口y1接收到删除消息,则执行步骤406,否则执行步骤409;
[0121] 步骤406:从接口y1接收到删除消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,则执行步骤407,否则执行步骤416;
[0122] 步骤407:从接口y1接收到删除消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称域值等于该删除消息的名称,删除该路由表项,接入路由器判断是否存在一个路由表项,该路由表项的名称域值等于该删除消息的名称域值,如果存在,则执行步骤416,否则执行步骤408;
[0123] 步骤408:从接口y1接收到删除消息的接入路由器从除了接口y1以外的每个有线接口转发该删除消息,执行步骤405;
[0124] 步骤409:接入路由器从接口y1接收到发布消息后查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称且生命周期大于阈值TH1,则执行步骤416,否则执行步骤410;
[0125] 步骤410:从接口y1接收到该发布消息的接入路由器查看路由表,如果存在一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则执行步骤411,否则执行步骤412;
[0126] 步骤411:从接口y1接收到该发布消息的接入路由器选择一个路由表项,该路由表项的接口ID等于y1且名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值,执行步骤413;
[0127] 步骤412:从接口y1接收到该发布消息的接入路由器创建一个路由表项,该路由表项的接口ID等于y1,名称等于该发布消息的名称,则将该路由表项的生命周期设置为最大值;
[0128] 步骤413:从接口y1接收到该发布消息的接入路由器判断接口y1是否为自己的无线接口,如果是,则执行步骤414,否则执行步骤415;
[0129] 步骤414:从接口y1接收到该发布消息的接入路由器从每个有线接口转发该发布消息,执行步骤409;
[0130] 步骤415:从接口y1接收到该发布消息的接入路由器从除了接口y1以外的每个有线接口转发该发布消息,执行步骤409;
[0131] 步骤416:结束。
[0132] 接入路由器通过上述过程能够快速实现设备的移动切换操作从而确保通信的正确性。上述过程通过设备表和邻居表来获取设备的下一个关联的接入路由器从而及时建立路由表项以确保数据通信的正确性,减少丢包率;同时,上述过程通过更新路由表项来确保路由表项的正确性和有效性,从而确保路由表的正确性,提高数据通信性能。
[0133] 图5为本发明所述的数据通信流程示意图。接入路由器保存一个查询表,一个查询表项包含接口ID和名称域;查询消息包括消息类型和名称;确认消息包括消息类型、名称和数值域;数据DA4由名称NA4标识,设备D2通过下述过程获取数据DA4:
[0134] 步骤501:开始;
[0135] 步骤502:设备D2发送查询消息,该查询消息的消息类型值为6,名称为NA4;
[0136] 步骤503:判断是接入路由器从接口z1还是设备接收到该查询消息,如果是设备则执行步骤510,否则执行步骤504;
[0137] 步骤504:接入路由器从接口z1接收到查询消息后查看查询表,如果存在一个查询表项,该查询表项的接口ID等于z1且名称等于该查询消息的名称,则执行步骤512,否则执行步骤505;
[0138] 步骤505:从接口z1接收到查询消息的接入路由器查看查询表,如果存在一个查询表项,该查询表项的名称等于该查询消息的名称,则执行步骤506,否则执行步骤507;
[0139] 步骤506:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1,执行步骤512;
[0140] 步骤507:从接口z1接收到查询消息的接入路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于z1;如果存在一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该接入路由器的无线接口,则执行步骤508,否则执行步骤509;
[0141] 步骤508:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称且接口ID所标识的接口为该路由器的无线接口,从该无线接口转发该查询消息,执行步骤503;
[0142] 步骤509:从接口z1接收到查询消息的接入路由器选择一个路由表项,该路由表项的名称等于该查询消息的名称,从该路由表项的接口ID所标识的接口转发该查询消息,执行步骤503;
[0143] 步骤510:设备接收到查询消息后,如果该设备能提供该查询消息名称域值所标识的数据,则执行步骤511,否则执行步骤515;
[0144] 步骤511:接收到查询消息的设备发送一个确认消息,该确认消息的消息类型值为7,名称等于该查询消息的名称,数值域为该查询消息名称域值所标识的数据;
[0145] 步骤512:如果设备接收到该确认消息,则执行步骤514,否则执行步骤513;
[0146] 步骤513:接收到确认消息的接入路由器选择所有名称域值等于该确认消息名称域值的查询表项,针对每个选中的查询表项,该接入路由器从该查询表项的接口ID域值所标识的接口转发该确认消息,删除该查询表项,执行步骤512;
[0147] 步骤514:设备接收到该确认消息后,保存该确认消息负载中的数据;
[0148] 步骤515:结束。
[0149] 设备通过上述过程能够快速获取所需数据。上述过程通过路由表和设备表能够从距离最近的数据提供者获取数据,从而降低了数据通信延迟和代价;同时,上述过程通过查询表实现数据通信,即两个以上的设备通过一次数据通信过程即可同时获取数据,从而进一步降低了数据通信延迟和代价。
[0150] 实施例1
[0151] 基于表1的仿真参数,本实施例模拟了本发明中的一种基于预切换机制的移动网络数据通信实现方法,性能分析如下:当设备移动速度增加的情况下,数据通信成功率随之降低;当设备移动速度降低的情况下,数据通信成功率随之增加。数据获取的平均成功率为97.54%。
[0152] 表1仿真参数
[0153]
[0154] 本发明提供了一种基于预切换机制的移动网络数据通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。