一种基于地理位置信息的网络数据通信方法与流程

文档序号:12280105阅读:286来源:国知局
一种基于地理位置信息的网络数据通信方法与流程

本发明涉及一种通信方法,尤其涉及的是一种基于地理位置信息的网络数据通信方法。



背景技术:

车载自组网由于其实用性已经受到广泛关注,成为研究的热点。车载自组网的主要特点之一为车辆节点沿路进行高速移动,因此,如何实现车辆节点的高质量数据通信称为当前的研究热点之一。

目前现有的通信协议应用到车载网络中还存在一些问题,主要原因如下:

1)现有协议中,移动节点需要发送和接收大量的控制信息来确保移动过程中的通信畅通,减少数据包的丢失,而传输控制信息会消耗大量的能量,这会大幅度缩减移动节点的寿命;

2)现有协议的控制信息数据包开销较大,移动转交延迟较长从而提高了数据包丢失率。

因此如何提高车载自组网的数据通信性能还有待进一步深入研究。



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种低延迟的一种基于地理位置信息的网络数据通信方法。

技术方案:本发明公开了一种基于地理位置信息的网络数据通信方法,所述网络包括接入节点和移动节点,任意一个接入节点的地理坐标具有唯一性;一个接入节点与两个以上的移动节点构建成一个子网,其中,该子网内的移动节点距离该子网的接入节点相对于其他移动节点最近,移动节点通过所在子网的接入节点与其他子网的移动节点进行通信;所述网络被划分为两个以上的子网;每个接入节点或者移动节点具有一个位置地址,该地址具有全球唯一性;位置地址包括两个部分,第一部分为接入节点或者移动节点的地理坐标,包括地理横坐标和地理纵坐标两个部分,第二部分为接入节点或者移动节点的设备ID;接入节点的设备ID为0,移动节点的设备ID为其硬件ID,例如MAC地址,移动节点的设备ID在其生命周期内不变,唯一标识该移动节点;

移动节点能够作为数据消费者或者数据提供者;

一种与地理位置相关的数据由一个名字地址唯一标识,一个名字地址包括名字域和地理坐标域两个部分,其中名字域用于标识数据的类型,地理坐标域用于表示与该数据相关的地理位置;一个数据消费者采用数据地址来获取数据,数据地址包括两个部分,第一部分为位置地址域,用于标识目的节点,第二部分为名字地址域,用于标识一种与地理位置相关的数据;如果一个数据地址中的位置地址域值为0,那么所述网络中所有接入节点都是目的节点;

每个接入节点保存一个子网间转发表和一个子网内转发表,子网间转发表中每个表项包括地理坐标域和名字地址域,地理坐标域指明能够提供该种数据的数据提供者所在子网的接入节点的地理位置,地理坐标域包括地理横坐标和地理纵坐标;名字地址域用于指明一种与地理位置相关的数据;

子网内转发表中每个表项包括三个部分,第一部分为名字地址域,第二部分为位置地址域,第三部分为设备ID域,名字地址域名指明一种与地理位置相关的数据,位置地址域保存能够提供该种数据的数据提供者的位置地址,设备ID域为能够提供该种数据的数据提供者的设备ID;

每个节点保存一个请求表,每个表项三个部分,分别为名字地址域,位置地址域和设备ID域,名字地址域用于指明一种与地理位置相关的数据,位置地址域为接入节点的位置地址或者请求该种数据的数据消费者的位置地址,设备ID域为请求该种数据的数据消费者的设备ID;

在子网S1中的接入节点为AP1,地理坐标为(x1,y1),移动节点V1在子网S1中行驶,地理坐标为(xv1,yv1),设备ID值为IV1的情况下,如果移动节点V1产生了由名字地址NA1定义的数据C1,其中,名字地址NA1中的名字域值为N1,地理坐标域值为名字(xv1,yv1),那么移动节点V1执行下述过程来发布数据C1:

步骤101:开始;

步骤102:移动节点V1为自己构建一个位置地址LAV1和位置地址LAAP1,同时构建一个名字地址NA1和一个数据地址CAAP1,在位置地址LAV1中,地理横坐标为xv1,地理纵坐标为yv1,设备ID为移动节点V1的设备ID值IV1,在位置地址LAAP1中,地理横坐标为x1,地理纵坐标为y1,设备ID为0,在名字地址NA1中,名字为N1,地理坐标域值为(xv1,yv1),在数据地址CAAP1中,位置地址为LAAP1,名字地址域值为NA1;

步骤103:移动节点V1发送数据发布消息,数据发布消息源地址为LAV1,目的地址为CAAP1,根据目的地址中的位置地址域值,数据发布消息路由到接入节点AP1;

步骤104:接入节点AP1收到数据发布消息后,在子网内转发表中创建一个表项,该表项的名字域值为NA1,位置地址域值为LAV1,设备ID域值为IV1

步骤105:接入节点AP1判断子网间转发表中是否有名字地址域值为NA1的表项,如果有,则进行步骤108,否则执行步骤106;

步骤106:接入节点AP1在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为地理坐标(x1,y1);接入节点AP1创建一个位置地址LAAP1和一个数据地址CAAP1-B,在位置地址LAAP1中,地理横坐标为x1,地理纵坐标为y1,设备ID为0,在数据地址CAAP1-B中,位置地址域值为0,名字地址值为NA1;接入节点AP1创建一个数据发布消息,该数据发布消息的源地址为位置地址LAAP1,目的地址为数据地址CAAP1-B,接入节点AP1发送数据发布消息;

步骤107:接收到数据发布消息的接入节点在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为(x1,y1);

步骤108:结束;

移动节点V1发布数据C1之后,定期向接入节点AP1发送信标消息,该信标消息的源地址为移动节点V1当前的位置地址,该位置地址的横坐标为移动节点V1当前的地理横坐标,纵坐标为移动节点V1当前的地理纵坐标,设备ID为移动节点V1的设备ID IV1;接入节点AP1收到信标消息后,在子网内转发表中查找设备ID域为IV1的表项,并用信标消息的源地址更新该表项中的位置地址域值,由此接入节点AP1能够获取移动节点V1的实时地理坐标。

移动节点通过上述过程可以快速发布与地理位置相关的数据,从而通知其他移动节点获取该数据。

本发明所述方法中,在子网S3中的接入节点为AP3,地理坐标为(x3,y3),移动节点V3在子网S3中行驶,移动节点V3的地理坐标为(xv3,yv3)的情况下,如果移动节点V3想获取名字地址NA1定义的数据C1,在名字地址NA1中,名字为N1,地理坐标域值为(xv1,yv1),那么移动节点V3执行下述过程来获取数据C1:

步骤201:开始;

步骤202:移动节点V3为自己构建一个位置地址LAV3,为接入节点AP3构建一个位置地址LAAP3,同时构建一个名字地址NA1和一个数据地址CAAP3,在位置地址LAV3中,地理横坐标为xv3,地理纵坐标为yv3,设备ID为移动节点V3的设备ID IV3,在位置地址LAAP3,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在名字地址NA1中,名字域值为N1,地理坐标域值为(xv1,yv1),在数据地址CAAP3,名字地址域值为NA1,位置地址域值为LAAP3;移动节点V3发送数据请求消息,该数据请求消息的目的地址为CAAP3,源地址为LAV3,该数据请求消息向着接入节点AP3进行路由,如果路由过程中中间的移动节点能够提供数据C1,那么执行步骤203,否则执行步骤204;

步骤203:路由过程中中间的移动节点返回一个数据响应消息,该数据响应消息的目的地址为位置地址LAV3,源地址为数据地址CAAP2,负载为数据C1和接入节点AP3的地理坐标(x3,y3),执行步骤211;

步骤204:接收到数据请求消息的接入节点在请求表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为数据请求消息的源地址,设备ID域值为数据请求消息的源地址中的设备ID值;该接入节点为自己创建一个位置地址LAAP,该地址的地理横坐标和地理纵坐标为接收到数据请求消息的接入节点的地理横坐标和地理纵坐标,设备ID为零;

步骤205:接收到数据请求消息的接入节点判断在请求表中是否只有一项名字地址域值为NA1的表项,如果是,执行步骤206,否则执行步骤211;

步骤206:接收到数据请求消息的接入节点判断在子网内转发表中是否有名字地址域值为NA1的表项,如果是,进行步骤207,否则执行步骤208;

步骤207:接收到数据请求消息的接入节点创建一个数据地址CADV,在数据地址CADV中,名字地址域值为NA1,位置地址域值为该表项中的位置地址域值;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为数据地址CADV,源地址更新为位置地址LAAP,发送该数据请求消息,目的移动节点收到该数据请求消息后,返回一个数据响应消息,该数据响应消息的目的地址为LAAP,源地址为数据地址CADV,负载为数据C1和接收到数据请求消息的接入节点的地理坐标(x,y),执行步骤211;

步骤208:接收到数据请求消息的接入节点判断在子网间转发表中是否有名字地址域值为NA1的表项,如果是,进行步骤209,否则执行步骤210;

步骤209:接收到数据请求消息的接入节点创建一个位置地址LADAP和一个数据地址CADAP,在位置地址LADAP中,地理坐标域值等于该表项中的地理坐标域值,设备ID域值为0,在数据地址CADAP中,名字地址域值为NA1,位置地址域值为LADAP;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为CADAP,源地址更新为位置地址LAAP,发送该数据请求消息,执行步骤204;

步骤210:接收到数据请求消息的接入节点构建一个位置地址LAN和一个数据地址CAN,在位置地址LAN中,地理位置坐标为距离接入节点AP1最近的邻居接入节点的地理坐标值,设备ID为0,在数据地址CAN中,名字地址域值为NA1,位置地址域值为LAN;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为CAN,源地址更新为位置地址LAAP,发送该数据请求消息,执行步骤204;

步骤211:如果接入节点接收到数据响应消息,则执行步骤212,否则执行步骤216;

步骤212:接入节点查看请求表中所有名字地址域值为NA1的表项,针对每个表项进行如下操作:将数据响应消息中的目的地址更新为该表项中的位置地址域值,发送数据响应消息,同时删除该表项;

步骤213:接入节点判断在子网间转发表中是否存在名字地址域名为NA1的表项,如果存在,执行步骤214,否则执行步骤215;

步骤214:接入节点计算所有名字地址域名为NA1的表项中地理坐标域值与自己的距离,接入节点计算数据响应消息负载中的地理坐标(x,y)与自己的距离D,如果名字地址域名为NA1的表项的地理坐标域值与自己的距离小于距离D,那么删除该表项;

步骤215:在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为数据响应消息负载中的地理坐标(x,y),执行步骤211;

步骤216:接收到数据响应消息的移动节点V3保存数据C1;

步骤217:结束;

移动节点V3发送数据请求消息后,定期向接入节点AP3发送信标消息,该信标消息的源地址为移动节点V3当前的位置地址,该位置地址的横坐标为移动节点V3当前的地理横坐标,纵坐标为移动节点V3当前的地理纵坐标,设备ID为移动节点V3的设备ID IV3;接入节点AP3收到信标消息后,在请求表中查找设备ID值等于设备ID为IV3的表项,用信标消息中的源地址更新该表项中的位置地址域值,由此接入节点AP3能够获取移动节点V3的实时地理坐标。

移动节点通过上述过程可以从距离最近的数据提供者快速获取与地理位置相关的数据,从而降低了数据通信延迟和代价,提高了数据通信质量。

本发明所述方法中,在移动节点V1能提供数据C1,数据C1由名字地址NA1来定义,其中,名字域值为N1,地理坐标域值为(xv1,yv1),子网S1中的接入节点为AP1,地理坐标为(x1,y1),子网S2中的接入节点为AP2,地理坐标为(x2,y2),移动节点V1的当前地理坐标为(xv1-T,yv1-T)的情况下,如果移动节点V1检测到自己从子网S1进入子网S2,那么移动节点V1执行下述切换操作:

步骤301:开始;

步骤302:移动节点V1为自己构建位置地址LAV1-T和位置地址LAAP2,同时构建一个数据地址CAAP2,在位置地址LAV1-T中,地理横坐标为移动节点V1当前的地理横坐标xv1-T,地理纵坐标为移动节点V1当前的地理纵坐标yv1-T,设备ID为移动节点V1的设备ID IV1,在位置地址LAAP2,地理横坐标为x2,地理纵坐标为y2,设备ID为零,在数据地址CAAP2中,名字地址域值为NA1,位置地址域值为LAAP2

步骤303:移动节点V1发送数据提供者切换消息,数据提供者切换消息源地址为LAV1-T,目的地址为数据地址CAAP2,根据目的地址中的位置地址域值,数据提供者切换消息路由到接入节点AP2;

步骤304:接入节点AP2收到数据提供者切换消息后,在子网内转发表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为LAV1-T,设备ID域值为IV1

步骤305:接入节点AP2判断自己的子网间转发表中是否存在名字地址域值为NA1的表项,如果不存在,则在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为(x2,y2);

步骤306:如果接入节点AP1在规定时间内(例如1s)没有收到移动节点V1的信标消息,则在子网内转发表中选取所有设备ID值为IV1的表项,并对每个表项进行如下操作:从子网内转发表中删除该表项,如果子网内转发表中所有表项的名字地址域与删除表项的名字地址域值都不同,那么接入节点AP1在子网间转发表中查找名字地址域值等于删除表项名字地址域值的表项,并从子网间转发表中删除该表项;

步骤307:结束;

移动节点V1执行数据提供者切换后,定期向接入节点AP2发送信标消息,该信标消息的源地址为移动节点V1当前的位置地址,该位置地址的横坐标为移动节点V1当前的地理横坐标,纵坐标为移动节点V1当前的地理纵坐标,设备ID为移动节点V1的设备ID IV1;接入节点AP2收到信标消息后,在子网内转发表中查找设备ID域为IV1的表项,将该表项中的位置地址域值设置为信标消息中的源地址,由此接入节点AP2能够获取移动节点V1的实时地理坐标。

通过上述过程,即使移动节点位置发生变化,它仍能快速提供数据,从而提高了数据通信成功率,同时降低了数据通信延迟。

本发明所述方法中,在数据C1由名字地址NA1来定义,其中,名字域值为N1,地理坐标域值为(xv1,yv1),子网S2中的接入节点为AP2,地理坐标为(x2,y2),子网S3中的接入节点为AP3,地理坐标为(x3,y3),移动节点V2在子网S2中行驶过程中请求获取数据C1,移动节点V1的当前地理坐标为(xv2-T,yv2-T)的情况下,如果移动节点V2在获取数据响应消息之前检测到自己移动到子网S3,那么移动节点V2执行下述切换操作:

步骤401:开始;

步骤402:移动节点V2为自己构建一个位置地址LAV2-T,为接入节点AP3构建一个位置地址LAAP3,同时构建一个数据地址CAAP3,在位置地址LAV2-T中,地理横坐标为移动节点V2当前的地理横坐标xv2-T,地理纵坐标为移动节点V2当前的地理纵坐标yv2-T,设备ID为移动节点V2的设备ID IV2,在位置地址LAAP3,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在数据地址CAAP3中,名字地址域值为NA1,位置地址域值为LAAP3

步骤403:移动节点V2发送数据消费者切换消息,数据消费者切换消息源地址为LAV2-T,目的地址为数据地址CAAP3,负载为地理坐标(x2,y2),根据目的地址中的位置地址域值,数据消费者切换消息路由到接入节点AP3;

步骤404:接入节点AP3收到数据消费者切换消息后,在请求表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为LAV2-T,设备ID域值为IV2

步骤405:接入节点AP3构建位置地址LAAP2和位置地址LAAP3,同时构建一个数据地址CAAP2,在位置地址LAAP2中,地理横坐标为x2,地理纵坐标为y2,设备ID为零,在位置地址LAAP3中,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在数据地址CAAP2中,名字地址域值为NA1,位置地址域值为LAAP2,接入节点AP3发送数据消费者切换消息,该消息的目的地址为数据地址CAAP2,源地址为位置地址LAAP3,负载为移动节点V2的设备ID IV2

步骤406:接入节点AP2收到数据消费者切换消息后,查找申请表中设备ID域值为设备ID值IV2的所有表项,接入节点AP2将这些表项中的位置地址域值更新为位置地址LAAP3

步骤407:结束;

移动节点V2执行切换操作后,定期向接入节点AP3发送信标消息,该信标消息的源地址为移动节点V2当前的位置地址,该位置地址的横坐标为移动节点V2当前的地理横坐标,纵坐标为移动节点V2当前的地理纵坐标,设备ID为移动节点V2的设备ID IV2;接入节点AP3收到信标消息后,在请求表中查找设备ID值等于设备ID为IV2的表项,用信标消息中的源地址更新该表项中的位置地址域值,由此接入节点AP3能够获取移动节点V2的实时地理坐标。

通过上述过程,即使移动节点位置发生变化,它仍能快速获取数据,从而提高了数据通信成功率,同时降低了数据通信延迟。

有益效果:本发明提供了一种基于地理位置信息的网络数据通信方法,所述网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,从而有效降低了数据通信延迟,提高了数据通信质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的网络体系结构示意图。

图2为本发明所述的数据发布流程示意图。

图3为本发明所述的数据获取流程示意图。

图4为本发明所述的数据提供者移动切换流程示意图。

图5为本发明所述的数据消费者移动切换流程示意图。

具体实施方式:

本发明提供了一种基于地理位置信息的网络数据通信方法,所述网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,从而有效降低了数据通信延迟,提高了数据通信质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

图1为本发明所述的网络体系结构示意图。所述网络包括接入节点1和移动节点2,任意一个接入节点1的地理坐标具有唯一性;一个接入节点1与两个以上的移动节点2构建成一个子网3,其中,该子网3内的移动节点2距离该子网3的接入节点1相对于其他移动节点2最近,移动节点2通过所在子网3的接入节点1与其他子网3的移动节点2进行通信;所述网络被划分为两个以上的子网3。

图2为本发明所述的数据发布流程示意图。每个接入节点或者移动节点具有一个位置地址,该地址具有全球唯一性;位置地址包括两个部分,第一部分为接入节点或者移动节点的地理坐标,包括地理横坐标和地理纵坐标两个部分,第二部分为接入节点或者移动节点的设备ID;接入节点的设备ID为0,移动节点的设备ID为其硬件ID,例如MAC地址,移动节点的设备ID在其生命周期内不变,唯一标识该移动节点;

移动节点能够作为数据消费者或者数据提供者;

一种与地理位置相关的数据由一个名字地址唯一标识,一个名字地址包括名字域和地理坐标域两个部分,其中名字域用于标识数据的类型,地理坐标域用于表示与该数据相关的地理位置;一个数据消费者采用数据地址来获取数据,数据地址包括两个部分,第一部分为位置地址域,用于标识目的节点,第二部分为名字地址域,用于标识一种与地理位置相关的数据;如果一个数据地址中的位置地址域值为0,那么所述网络中所有接入节点都是目的节点;

每个接入节点保存一个子网间转发表和一个子网内转发表,子网间转发表中每个表项包括地理坐标域和名字地址域,地理坐标域指明能够提供该种数据的数据提供者所在子网的接入节点的地理位置,地理坐标域包括地理横坐标和地理纵坐标;名字地址域用于指明一种与地理位置相关的数据;

子网内转发表中每个表项包括三个部分,第一部分为名字地址域,第二部分为位置地址域,第三部分为设备ID域,名字地址域名指明一种与地理位置相关的数据,位置地址域保存能够提供该种数据的数据提供者的位置地址,设备ID域为能够提供该种数据的数据提供者的设备ID;

每个节点保存一个请求表,每个表项三个部分,分别为名字地址域,位置地址域和设备ID域,名字地址域用于指明一种与地理位置相关的数据,位置地址域为接入节点的位置地址或者请求该种数据的数据消费者的位置地址,设备ID域为请求该种数据的数据消费者的设备ID;

在子网S1中的接入节点为AP1,地理坐标为(x1,y1),移动节点V1在子网S1中行驶,地理坐标为(xv1,yv1),设备ID值为IV1的情况下,如果移动节点V1产生了由名字地址NA1定义的数据C1,其中,名字地址NA1中的名字域值为N1,地理坐标域值为名字(xv1,yv1),那么移动节点V1执行下述过程来发布数据C1:

步骤101:开始;

步骤102:移动节点V1为自己构建一个位置地址LAV1和位置地址LAAP1,同时构建一个名字地址NA1和一个数据地址CAAP1,在位置地址LAV1中,地理横坐标为xv1,地理纵坐标为yv1,设备ID为移动节点V1的设备ID值IV1,在位置地址LAAP1中,地理横坐标为x1,地理纵坐标为y1,设备ID为0,在名字地址NA1中,名字为N1,地理坐标域值为(xv1,yv1),在数据地址CAAP1中,位置地址为LAAP1,名字地址域值为NA1;

步骤103:移动节点V1发送数据发布消息,数据发布消息源地址为LAV1,目的地址为CAAP1,根据目的地址中的位置地址域值,数据发布消息路由到接入节点AP1;

步骤104:接入节点AP1收到数据发布消息后,在子网内转发表中创建一个表项,该表项的名字域值为NA1,位置地址域值为LAV1,设备ID域值为IV1

步骤105:接入节点AP1判断子网间转发表中是否有名字地址域值为NA1的表项,如果有,则进行步骤108,否则执行步骤106;

步骤106:接入节点AP1在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为地理坐标(x1,y1);接入节点AP1创建一个位置地址LAAP1和一个数据地址CAAP1-B,在位置地址LAAP1中,地理横坐标为x1,地理纵坐标为y1,设备ID为0,在数据地址CAAP1-B中,位置地址域值为0,名字地址值为NA1;接入节点AP1创建一个数据发布消息,该数据发布消息的源地址为位置地址LAAP1,目的地址为数据地址CAAP1-B,接入节点AP1发送数据发布消息;

步骤107:接收到数据发布消息的接入节点在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为(x1,y1);

步骤108:结束;

移动节点V1发布数据C1之后,定期向接入节点AP1发送信标消息,该信标消息的源地址为移动节点V1当前的位置地址,该位置地址的横坐标为移动节点V1当前的地理横坐标,纵坐标为移动节点V1当前的地理纵坐标,设备ID为移动节点V1的设备ID IV1;接入节点AP1收到信标消息后,在子网内转发表中查找设备ID域为IV1的表项,并用信标消息的源地址更新该表项中的位置地址域值,由此接入节点AP1能够获取移动节点V1的实时地理坐标。

移动节点通过上述过程可以快速发布与地理位置相关的数据,从而通知其他移动节点获取该数据。

图3为本发明所述的数据获取流程示意图。在子网S3中的接入节点为AP3,地理坐标为(x3,y3),移动节点V3在子网S3中行驶,移动节点V3的地理坐标为(xv3,yv3)的情况下,如果移动节点V3想获取名字地址NA1定义的数据C1,在名字地址NA1中,名字为N1,地理坐标域值为(xv1,yv1),那么移动节点V3执行下述过程来获取数据C1:

步骤201:开始;

步骤202:移动节点V3为自己构建一个位置地址LAV3,为接入节点AP3构建一个位置地址LAAP3,同时构建一个名字地址NA1和一个数据地址CAAP3,在位置地址LAV3中,地理横坐标为xv3,地理纵坐标为yv3,设备ID为移动节点V3的设备ID IV3,在位置地址LAAP3,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在名字地址NA1中,名字域值为N1,地理坐标域值为(xv1,yv1),在数据地址CAAP3,名字地址域值为NA1,位置地址域值为LAAP3;移动节点V3发送数据请求消息,该数据请求消息的目的地址为CAAP3,源地址为LAV3,该数据请求消息向着接入节点AP3进行路由,如果路由过程中中间的移动节点能够提供数据C1,那么执行步骤203,否则执行步骤204;

步骤203:路由过程中中间的移动节点返回一个数据响应消息,该数据响应消息的目的地址为位置地址LAV3,源地址为数据地址CAAP2,负载为数据C1和接入节点AP3的地理坐标(x3,y3),执行步骤211;

步骤204:接收到数据请求消息的接入节点在请求表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为数据请求消息的源地址,设备ID域值为数据请求消息的源地址中的设备ID值;该接入节点为自己创建一个位置地址LAAP,该地址的地理横坐标和地理纵坐标为接收到数据请求消息的接入节点的地理横坐标和地理纵坐标,设备ID为零;

步骤205:接收到数据请求消息的接入节点判断在请求表中是否只有一项名字地址域值为NA1的表项,如果是,执行步骤206,否则执行步骤211;

步骤206:接收到数据请求消息的接入节点判断在子网内转发表中是否有名字地址域值为NA1的表项,如果是,进行步骤207,否则执行步骤208;

步骤207:接收到数据请求消息的接入节点创建一个数据地址CADV,在数据地址CADV中,名字地址域值为NA1,位置地址域值为该表项中的位置地址域值;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为数据地址CADV,源地址更新为位置地址LAAP,发送该数据请求消息,目的移动节点收到该数据请求消息后,返回一个数据响应消息,该数据响应消息的目的地址为LAAP,源地址为数据地址CADV,负载为数据C1和接收到数据请求消息的接入节点的地理坐标(x,y),执行步骤211;

步骤208:接收到数据请求消息的接入节点判断在子网间转发表中是否有名字地址域值为NA1的表项,如果是,进行步骤209,否则执行步骤210;

步骤209:接收到数据请求消息的接入节点创建一个位置地址LADAP和一个数据地址CADAP,在位置地址LADAP中,地理坐标域值等于该表项中的地理坐标域值,设备ID域值为0,在数据地址CADAP中,名字地址域值为NA1,位置地址域值为LADAP;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为CADAP,源地址更新为位置地址LAAP,发送该数据请求消息,执行步骤204;

步骤210:接收到数据请求消息的接入节点构建一个位置地址LAN和一个数据地址CAN,在位置地址LAN中,地理位置坐标为距离接入节点AP1最近的邻居接入节点的地理坐标值,设备ID为0,在数据地址CAN中,名字地址域值为NA1,位置地址域值为LAN;接收到数据请求消息的接入节点将数据请求消息的目的地址更新为CAN,源地址更新为位置地址LAAP,发送该数据请求消息,执行步骤204;

步骤211:如果接入节点接收到数据响应消息,则执行步骤212,否则执行步骤216;

步骤212:接入节点查看请求表中所有名字地址域值为NA1的表项,针对每个表项进行如下操作:将数据响应消息中的目的地址更新为该表项中的位置地址域值,发送数据响应消息,同时删除该表项;

步骤213:接入节点判断在子网间转发表中是否存在名字地址域名为NA1的表项,如果存在,执行步骤214,否则执行步骤215;

步骤214:接入节点计算所有名字地址域名为NA1的表项中地理坐标域值与自己的距离,接入节点计算数据响应消息负载中的地理坐标(x,y)与自己的距离D,如果名字地址域名为NA1的表项的地理坐标域值与自己的距离小于距离D,那么删除该表项;

步骤215:在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为数据响应消息负载中的地理坐标(x,y),执行步骤211;

步骤216:接收到数据响应消息的移动节点V3保存数据C1;

步骤217:结束;

移动节点V3发送数据请求消息后,定期向接入节点AP3发送信标消息,该信标消息的源地址为移动节点V3当前的位置地址,该位置地址的横坐标为移动节点V3当前的地理横坐标,纵坐标为移动节点V3当前的地理纵坐标,设备ID为移动节点V3的设备ID IV3;接入节点AP3收到信标消息后,在请求表中查找设备ID值等于设备ID为IV3的表项,用信标消息中的源地址更新该表项中的位置地址域值,由此接入节点AP3能够获取移动节点V3的实时地理坐标。

移动节点通过上述过程可以从距离最近的数据提供者快速获取与地理位置相关的数据,从而降低了数据通信延迟和代价,提高了数据通信质量。

图4为本发明所述的数据提供者移动切换流程示意图。在移动节点V1能提供数据C1,数据C1由名字地址NA1来定义,其中,名字域值为N1,地理坐标域值为(xv1,yv1),子网S1中的接入节点为AP1,地理坐标为(x1,y1),子网S2中的接入节点为AP2,地理坐标为(x2,y2),移动节点V1的当前地理坐标为(xv1-T,yv1-T)的情况下,如果移动节点V1检测到自己从子网S1进入子网S2,那么移动节点V1执行下述切换操作:

步骤301:开始;

步骤302:移动节点V1为自己构建位置地址LAV1-T和位置地址LAAP2,同时构建一个数据地址CAAP2,在位置地址LAV1-T中,地理横坐标为移动节点V1当前的地理横坐标xv1-T,地理纵坐标为移动节点V1当前的地理纵坐标yv1-T,设备ID为移动节点V1的设备ID IV1,在位置地址LAAP2,地理横坐标为x2,地理纵坐标为y2,设备ID为零,在数据地址CAAP2中,名字地址域值为NA1,位置地址域值为LAAP2

步骤303:移动节点V1发送数据提供者切换消息,数据提供者切换消息源地址为LAV1-T,目的地址为数据地址CAAP2,根据目的地址中的位置地址域值,数据提供者切换消息路由到接入节点AP2;

步骤304:接入节点AP2收到数据提供者切换消息后,在子网内转发表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为LAV1-T,设备ID域值为IV1

步骤305:接入节点AP2判断自己的子网间转发表中是否存在名字地址域值为NA1的表项,如果不存在,则在子网间转发表中创建一个表项,该表项的名字地址域值为NA1,地理坐标域值为(x2,y2);

步骤306:如果接入节点AP1在规定时间内(例如1s)没有收到移动节点V1的信标消息,则在子网内转发表中选取所有设备ID值为IV1的表项,并对每个表项进行如下操作:从子网内转发表中删除该表项,如果子网内转发表中所有表项的名字地址域与删除表项的名字地址域值都不同,那么接入节点AP1在子网间转发表中查找名字地址域值等于删除表项名字地址域值的表项,并从子网间转发表中删除该表项;

步骤307:结束;

移动节点V1执行数据提供者切换后,定期向接入节点AP2发送信标消息,该信标消息的源地址为移动节点V1当前的位置地址,该位置地址的横坐标为移动节点V1当前的地理横坐标,纵坐标为移动节点V1当前的地理纵坐标,设备ID为移动节点V1的设备ID IV1;接入节点AP2收到信标消息后,在子网内转发表中查找设备ID域为IV1的表项,将该表项中的位置地址域值设置为信标消息中的源地址,由此接入节点AP2能够获取移动节点V1的实时地理坐标。

通过上述过程,即使移动节点位置发生变化,它仍能快速提供数据,从而提高了数据通信成功率,同时降低了数据通信延迟。

图5为本发明所述的数据消费者移动切换流程示意图。在数据C1由名字地址NA1来定义,其中,名字域值为N1,地理坐标域值为(xv1,yv1),子网S2中的接入节点为AP2,地理坐标为(x2,y2),子网S3中的接入节点为AP3,地理坐标为(x3,y3),移动节点V2在子网S2中行驶过程中请求获取数据C1,移动节点V1的当前地理坐标为(xv2-T,yv2-T)的情况下,如果移动节点V2在获取数据响应消息之前检测到自己移动到子网S3,那么移动节点V2执行下述切换操作:

步骤401:开始;

步骤402:移动节点V2为自己构建一个位置地址LAV2-T,为接入节点AP3构建一个位置地址LAAP3,同时构建一个数据地址CAAP3,在位置地址LAV2-T中,地理横坐标为移动节点V2当前的地理横坐标xv2-T,地理纵坐标为移动节点V2当前的地理纵坐标yv2-T,设备ID为移动节点V2的设备ID IV2,在位置地址LAAP3,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在数据地址CAAP3中,名字地址域值为NA1,位置地址域值为LAAP3

步骤403:移动节点V2发送数据消费者切换消息,数据消费者切换消息源地址为LAV2-T,目的地址为数据地址CAAP3,负载为地理坐标(x2,y2),根据目的地址中的位置地址域值,数据消费者切换消息路由到接入节点AP3;

步骤404:接入节点AP3收到数据消费者切换消息后,在请求表中创建一个表项,该表项的名字地址域值为NA1,位置地址域值为LAV2-T,设备ID域值为IV2

步骤405:接入节点AP3构建位置地址LAAP2和位置地址LAAP3,同时构建一个数据地址CAAP2,在位置地址LAAP2中,地理横坐标为x2,地理纵坐标为y2,设备ID为零,在位置地址LAAP3中,地理横坐标为x3,地理纵坐标为y3,设备ID为零,在数据地址CAAP2中,名字地址域值为NA1,位置地址域值为LAAP2,接入节点AP3发送数据消费者切换消息,该消息的目的地址为数据地址CAAP2,源地址为位置地址LAAP3,负载为移动节点V2的设备ID IV2

步骤406:接入节点AP2收到数据消费者切换消息后,查找申请表中设备ID域值为设备ID值IV2的所有表项,接入节点AP2将这些表项中的位置地址域值更新为位置地址LAAP3

步骤407:结束;

移动节点V2执行切换操作后,定期向接入节点AP3发送信标消息,该信标消息的源地址为移动节点V2当前的位置地址,该位置地址的横坐标为移动节点V2当前的地理横坐标,纵坐标为移动节点V2当前的地理纵坐标,设备ID为移动节点V2的设备ID IV2;接入节点AP3收到信标消息后,在请求表中查找设备ID值等于设备ID为IV2的表项,用信标消息中的源地址更新该表项中的位置地址域值,由此接入节点AP3能够获取移动节点V2的实时地理坐标。

通过上述过程,即使移动节点位置发生变化,它仍能快速获取数据,从而提高了数据通信成功率,同时降低了数据通信延迟。

综上所述,本发明提供了一种基于地理位置信息的网络数据通信方法,所述网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,从而有效降低了数据通信延迟,提高了数据通信质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的基于地理位置信息的网络数据通信方法,性能分析如下:当数据提供者数量增加时,车辆节点获取数据的代价和延迟均降低,当数据提供者数据量为10时,数据获取平均代价为10,数据获取平均延迟为50ms。

表1仿真参数

本发明提供了一种基于地理位置信息的网络数据通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1