专利摘要
本发明公开了一种基于定位信息的车联网实现方法,所述车联网由接入路由器、接入节点和车辆节点构成,所述车联网根据地理坐标划分为一个以上子网,每个子网的面积为长方形,子网面积的两条对角线的交点称为该子网的中心点,其地理坐标为(x,y),每个子网由横坐标区间[x‑w,x+w],和纵坐标区间来标识[y‑l,y+l],w为子网的宽,l为子网的长度。所述车联网通过本发明所提供的实现方法可获取网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
权利要求
1.一种基于定位信息的车联网实现方法,其特征在于,所述车联网由接入路由器、接入节点和车辆节点构成,所述车联网根据地理坐标划分为一个以上子网,每个子网的面积为长方形,子网面积的两条对角线的焦点称为该子网的中心点,其地理坐标为(x,y),每个子网由横坐标区间[x-w,x+w],和纵坐标区间来标识[y-l,y+l],2w为子网的宽,2l为子网的长度;
每个子网包含一个接入路由器和一个以上接入节点,一个子网内的所有接入节点与相同子网内的接入路由器相连,每个接入节点位于子网的不同位置,其地理坐标具有唯一性;车辆节点具有路由和转发功能;
每个接入节点或者接入路由器由一个全局IPv6地址标识,标识一个接入路由器或者接入节点的全局IPv6地址由四部分构成,第一部分和第二部分分别为32比特的子网横坐标和32比特的子网纵坐标,其值等于子网中心节点的地理横坐标和纵坐标;第三部分为32比特的接入节点横坐标,其值等于接入路由器或者接入节点的地理横坐标,第四部分为32比特的接入节点纵坐标,其值等于接入路由器或者接入节点的地理纵坐标;
每个车辆节点具有一个全局IPv6地址和一个局部IPv6地址,其中全局IPv6地址用于子网之间的路由,局部IPv6地址用于子网内的路由;车辆节点的全局IPv6地址由四部分构成,第一部分和第二部分分别为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;
车辆节点的局部IPv6地址由四部分构成,第一部分和第二部分为32比特的车辆节点横坐标和32比特的车辆节点纵坐标,其值等于车辆节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;i的取值范围为[1,60];
车辆ID的设置空间为[1,264-i-1];当车联网划分为K子网时,那么第k子网中的车辆ID设置空间Pk如公式(1)所示,1≤k≤K:
当车辆节点启动后,向所在子网的接入路由器发送地址请求消息;接入路由器收到地址请求消息后,向车辆节点返回一个地址响应消息,该地址响应消息负载为最小未分配的车辆ID,然后接入路由器分配给车辆节点的车辆ID标记为已分配状态;车辆节点收到地址响应消息后,保存该车辆ID;
一个数据ID定义一种数据类型;
车辆节点通过数据地址来获取某个地理坐标的数据,数据地址由三部分构成,第一部分和第二部分分别为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为64比特的数据信息域,数据信息域由数据横坐标、数据纵坐标和数据ID集合构成,其中,数据横坐标和数据纵坐标标识数据产生的地理位置,数据ID集合为与该地理位置相关的各种数据类型的数据ID集合。
2.根据权利要求1所述的基于定位信息的车联网实现方法,其特征在于,每个接入节点和车辆节点维护一个数据表,该数据表的表项包含四个域:数据ID域,地理坐标域,数据域和生存时间域。
3.根据权利要求1所述的基于定位信息的车联网实现方法,其特征在于,一个车辆节点启动后,首先获取所在车联网中的接入节点的地理坐标以及所在子网的地理横坐标区间和地理纵坐标区间。
4.根据权利要求1所述的基于定位信息的车联网实现方法,其特征在于,在车辆节点V位于子网S1,位于子网S1的所有接入节点中接入节点AP1与车辆节点V的当前位置距离最近的情况下;当车辆节点V产生了与它当前地理位置(xV,yV)相关的数据时,执行以下步骤:
步骤101:开始;
步骤102:车辆节点V创建接入节点AP1的全局IPv6地址以及自己的局部IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标,在局部IPv6地址中,车辆节点横坐标和车辆节点纵坐标设置为(xV,yV),车辆ID设置为车辆节点V的车辆ID;
步骤103:车辆节点V发送数据分享消息,该数据分享消息的源地址为自己的局部IPv6地址,目的地址为接入节点AP1的全局IPv6地址,负载为产生的与地理位置(xV,yV)相关的数据,该数据的数据ID以及生命周期;
步骤104:根据目的地址中接入节点AP1的地理坐标,数据分享消息路由到接入节点AP1,数据分享消息所经过的路由路径中的中间车辆节点收到数据分享消息后,在数据表中创建一个表项,该表项的数据ID,数据值和生命周期分别设置为数据分享消息中的数据ID、数据值以及生命周期,该表项的地理坐标值设置为数据分享消息中目的地址中的车辆节点横坐标和车辆节点纵坐标值,即车辆节点V的地理坐标;
步骤105:结束。
5.根据权利要求1所述的基于定位信息的车联网实现方法,其特征在于,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤201:开始;
步骤202:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的各种数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤203:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤204:根据目的地址中的接入节点横坐标和接入节点纵坐标,将数据请求消息转发到下一跳节点;
步骤205:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤206,否则进行步骤207;
步骤206:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤210;
步骤207:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤208,否则进行步骤209:;
步骤208:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤205;
步骤209:接入节点AP1获取车辆节点V请求的数据并向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP1接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤210:根据数据响应消息的目的地址,最终数据响应消息到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤211:结束。
6.根据权利要求5所述的基于定位信息的车联网实现方法,其特征在于,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,在步骤209中,接入节点AP1根据下述过程获取车辆节点V请求的数据:
步骤301:开始;
步骤302:接入节点AP1创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标;
步骤303:接入节点AP1将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤304:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤305:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤306,否则进行步骤307;
步骤306:下一跳节点向接入节点AP1返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤310;
步骤307:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤308,否则进行步骤309;
步骤308:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤305;
步骤309:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤310:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤311:结束。
7.根据权利要求6所述的基于定位信息的车联网实现方法,其特征在于,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S2内,子网S2的接入路由器为AR2,子网S2中所有接入节点中接入节点AP2距离地理位置(xp,yp)最近,子网S1中所有接入节点中接入节点AP1距离车辆节点V最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤401:开始;
步骤402:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的所有数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤403:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤404:根据目的地址中的接入节点横坐标和接入节点纵坐标,即接入节点AP2的地理位置,根据接入节点AP2位于子网S2,将数据请求消息转发到距离接入节点AP1最近的下一跳节点;
步骤405:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤406,否则进行步骤407;
步骤406:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤414;
步骤407:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤408,否则进行步骤409:;
步骤408:下一跳节点将接收到数据请求消息继续转发到距离接入节点AP1最近的下一跳节点,执行步骤405;
步骤409:接入节点AP1构建车辆节点V的全局IPv6地址,其中,全局IPv6地址的接入节点横坐标和接入节点纵坐标为接入节点AP1的地理横坐标和地理纵坐标,车辆ID设置为车辆节点V的车辆ID,然后将数据请求消息的源地址更新为车辆节点V的全局IPv6地址,并将该数据请求消息发送到接入路由器AR1;
步骤410:接入路由器AR1将收到的数据请求消息转发给接入路由器AR2,接入路由器AR2将收到的数据请求消息转发给接入节点AP2;
步骤411:判断接入节点AP2是否有车辆节点V请求的数据,如果有,进行步骤413,否则进行步骤412;
步骤412:接入节点AP2获取车辆节点V请求的数据;
步骤413:接入节点AP2向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP2接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,将数据响应消息发送给接入路由器AR2,接入路由器AR2根据数据响应消息的目的地址将数据响应消息转发给接入路由器AR1,接入路由器AR1根据数据响应消息的目的地址将数据响应消息转发给接入节点AP1,接入节点AP1收到数据响应消息后,将数据响应消息中的目的地址更新为车辆节点V的局部IPv6地址,然后发送该数据响应消息,同时接入节点AP1保存数据响应消息中的数据;
步骤414:根据数据响应消息的目的地址,数据响应消息最终到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤415:结束;
在步骤412中,接入节点AP2根据下述过程获取车辆节点V请求的数据:
步骤501:开始;
步骤502:接入节点AP2创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S2的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和地理纵坐标;
步骤503:接入节点AP2将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤504:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤505:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤506,否则进行步骤507;
步骤506:下一跳节点向接入节点AP2返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤510;
步骤507:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤508,否则进行步骤509;
步骤508:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤505;
步骤509:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤510:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤511:结束。
8.根据权利要求7所述的基于定位信息的车联网实现方法,其特征在于,车辆节点V由车辆ID唯一标识,如果多个车辆节点接收到数据响应消息,那么只有目的地址中的车辆ID标识的车辆节点保存该消息,其他节点丢弃该消息。
9.根据权利要求7所述的基于定位信息的车联网实现方法,其特征在于,步骤413中,接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期。
10.根据权利要求9所述的基于定位信息的车联网实现方法,其特征在于,车辆节点的车辆ID在生命周期内保持不变,在整个生命周期中由车辆ID唯一标识。
说明书
技术领域
本发明涉及一种车联网实现方法,尤其涉及的是一种基于定位信息的车联网实现方法。
背景技术
车联网作为一种新型车辆通信网络,能够实现车辆与车辆之间、车辆与路边基础设施之间的多跳无线通信。随着车联网技术的不断发展以及各种新应用的不断涌现,迫切需要车联网能够接入互联网以满足用户急剧增长的应用需求。
车联网作为一种特殊类型的移动自组网,具有移动速度快、节点数量多、覆盖面积大等特点。基于IPv6的互联网(以下简称IPv6网络)具有移动性支持、地址资源丰富以及扩展性强等优点。因此,车联网接入IPv6网络成为满足用户应用需求的理想解决方案。
目前的研究人员提出了车联网通过接入基于IPv6的互联网获取网络服务的模式并定义了相应的协议栈,但是由于车联网的体系结构与IPv6网络不通,现有的接入方法具有一些局限性。因此需要提出一种车联网的通信实现方法,从而降低数据丢失率,提高服务质量。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于定位信息的车联网实现方法。
技术方案:本发明公开了一种基于定位信息的车联网实现方法,所述车联网由接入路由器、接入节点和车辆节点构成,所述车联网根据地理坐标划分为一个以上子网,每个子网的面积为长方形,子网面积的两条对角线的焦点称为该子网的中心点,其地理坐标为(x,y),每个子网由横坐标区间[x-w,x+w],和纵坐标区间来标识[y-l,y+l],2w为子网的宽,2l为子网的长度;w的取值范围为1km-10km,l的取值范围为1km-10km;
每个子网包含一个接入路由器和一个以上接入节点,一个子网内的所有接入节点与相同子网内的接入路由器相连,每个接入节点位于子网的不同位置,其地理坐标具有唯一性;车辆节点具有路由和转发功能;
每个接入节点或者接入路由器由一个全局IPv6地址标识,标识一个接入路由器或者接入节点的全局IPv6地址由四部分构成,第一部分和第二部分为32比特的子网横坐标和32比特的子网纵坐标,其值等于子网中心节点的地理横坐标和纵坐标;第三部分和第四部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入路由器或者接入节点的地理横坐标和纵坐标;
每个车辆节点具有一个全局IPv6地址和一个局部IPv6地址,其中全局IPv6地址用于子网之间的路由,局部IPv6地址用于子网内的路由;车辆节点的全局IPv6地址由四部分构成,第一部分和第二部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;i的取值范围为[1,60];
车辆节点的局部IPv6地址由四部分构成,第一部分和第二部分为32比特的车辆节点横坐标和32比特的车辆节点纵坐标,其值等于车辆节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;i的取值范围为[1,60];
车辆ID的设置空间为[1,264-i-1];当车联网划分为K子网时,那么第k子网中的车辆ID设置空间Pk如公式(1)所示,1≤k≤K:
当车辆节点启动后,向所在子网的接入路由器发送地址请求消息;接入路由器收到地址请求消息后,向车辆节点返回一个地址响应消息,该地址响应消息负载为最小未分配的车辆ID,然后接入路由器分配给车辆节点的车辆ID标记为已分配状态;车辆节点收到地址响应消息后,保存该车辆ID;
一个数据ID定义一种数据类型;例如数据ID值为1的数据类型为车流量信息,数据ID为2的数据类型为空气污染度信息等;
车辆节点通过数据地址来获取某个地理坐标的数据,数据地址由三部分构成,第一部分和第二部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为数据信息域,数据信息域由数据横坐标、数据纵坐标和数据ID集合构成,其中,数据横坐标和数据纵坐标标识数据产生的地理位置,数据ID集合为与该地理位置相关的各种数据类型的数据ID集合;例如,由(x,y)坐标标识的地理位置的车流量和空气污染度等。
通过上述网络体系结构和地址结构,车辆节点可以从距离最近的接入节点获取数据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节点可以从其他远程网络获取数据,因此提高了数据获取的成功率。
本发明所述方法中,其特征在于,每个接入节点和车辆节点维护一个数据表,该数据表的表项包含四个域:数据ID域,地理坐标域,数据域和生存时间域。
本发明所述方法中,一个车辆节点启动后,首先获取所在车联网中的接入节点的地理坐标以及所在子网的地理横坐标区间和地理纵坐标区间,例如通过下载google地图的方式。
本发明所述方法中,在车辆节点V位于子网S1,位于子网S1的所有接入节点中接入节点AP1与车辆节点V的当前位置距离最近的情况下;当车辆节点V产生了与它当前地理位置(xV,yV)相关的数据时,执行以下步骤:
步骤101:开始;
步骤102:车辆节点V创建接入节点AP1的全局IPv6地址以及自己的局部IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标,在局部IPv6地址中,车辆节点横坐标和车辆节点纵坐标设置为(xV,yV),车辆ID设置为车辆节点V的车辆ID;
步骤103:车辆节点V发送数据分享消息,该数据分享消息的源地址为自己的局部IPv6地址,目的地址为接入节点AP1的全局IPv6地址,负载为产生的与地理位置(xV,yV)相关的数据,该数据的数据ID以及生命周期;
步骤104:根据目的地址中接入节点AP1的地理坐标,数据分享消息路由到接入节点AP1,数据分享消息所经过的路由路径中的中间车辆节点收到数据分享消息后,在数据表中创建一个表项,该表项的数据ID,数据值和生命周期分别设置为数据分享消息中的数据ID、数据值以及生命周期,该表项的地理坐标值设置为数据分享消息中目的地址中的车辆节点横坐标和车辆节点纵坐标值,即车辆节点V的地理坐标;
步骤105:结束。
通过上述过程,车辆节点可以产生并共享数据。这样车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节点可以从其他远程网络获取数据,因此提高了数据获取的成功率。
本发明所述方法中,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤201:开始;
步骤202:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的各种数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤203:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤204:根据目的地址中的接入节点横坐标和接入节点纵坐标,将数据请求消息转发到下一跳节点;
步骤205:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤206,否则进行步骤207;
步骤206:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤210;
步骤207:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤208,否则进行步骤209:;
步骤208:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤205;
步骤209:接入节点AP1获取车辆节点V请求的数据并向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP1接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤210:根据数据响应消息的目的地址,最终数据响应消息到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤211:结束。
通过上述过程,车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价。
本发明所述方法中,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,在步骤209中,接入节点AP1根据下述过程获取车辆节点V请求的数据:
步骤301:开始;
步骤302:接入节点AP1创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标;
步骤303:接入节点AP1将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤304:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤305:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤306,否则进行步骤307;
步骤306:下一跳节点向接入节点AP1返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤310;
步骤307:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤308,否则进行步骤309;
步骤308:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤305;
步骤309:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤310:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤311:结束。
如果本地网络没有数据,那么接入节点通过上述过程可以所在地址位置为(xp,yp)的车辆节点P产生数据,因此提高了数据获取的成功率。
本发明所述方法中,在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S2内,子网S2的接入路由器为AR2,子网S2中所有接入节点中接入节点AP2距离地理位置(xp,yp)最近,子网S1中所有接入节点中接入节点AP1距离车辆节点V最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤401:开始;
步骤402:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的所有数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤403:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤404:根据目的地址中的接入节点横坐标和接入节点纵坐标,即接入节点AP2的地理位置,根据接入节点AP2位于子网S2,将数据请求消息转发到距离接入节点AP1最近的下一跳节点;
步骤405:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤406,否则进行步骤407;
步骤406:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤414;
步骤407:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤408,否则进行步骤409:;
步骤408:下一跳节点将接收到数据请求消息继续转发到距离接入节点AP1最近的下一跳节点,执行步骤405;
步骤409:接入节点AP1构建车辆节点V的全局IPv6地址,其中,全局IPv6地址的接入节点横坐标和接入节点纵坐标为接入节点AP1的地理横坐标和地理纵坐标,车辆ID设置为车辆节点V的车辆ID,然后将数据请求消息的源地址更新为车辆节点V的全局IPv6地址,并将该数据请求消息发送到接入路由器AR1;
步骤410:接入路由器AR1将收到的数据请求消息转发给接入路由器AR2,接入路由器AR2将收到的数据请求消息转发给接入节点AP2;
步骤411:接入节点AP2是否有车辆节点V请求的数据,如果有,进行步骤413,否则进行步骤412;
步骤412:接入节点AP2获取车辆节点V请求的数据;
步骤413:接入节点AP2向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP2接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,将数据响应消息发送给接入路由器AR2,接入路由器AR2根据数据响应消息的目的地址将数据响应消息转发给接入路由器AR1,接入路由器AR1根据数据响应消息的目的地址将数据响应消息转发给接入节点AP1,接入节点AP1收到数据响应消息后,将数据响应消息中的目的地址更新为车辆节点V的局部IPv6地址,然后发送该数据响应消息,同时接入节点AP1保存数据响应消息中的数据;
步骤414:根据数据响应消息的目的地址,数据响应消息最终到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤415:结束;
通过上述过程,车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价;
在步骤412中,接入节点AP2根据下述过程获取车辆节点V请求的数据:
步骤501:开始;
步骤502:接入节点AP2创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S2的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和地理纵坐标;
步骤503:接入节点AP2将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤504:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤505:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤506,否则进行步骤507;
步骤506:下一跳节点向接入节点AP2返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤510;
步骤507:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤508,否则进行步骤509;
步骤508:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤505;
步骤509:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤510:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤511:结束。
如果网络没有数据,那么接入节点可以从远程子网获取或者产生数据,因此提高了数据获取的成功率。
本发明所述方法中,车辆节点V由车辆ID唯一标识,如果多个车辆节点接收到数据响应消息,那么只保存目的地址中的车辆ID标识的车辆节点出来该消息,其他节点丢弃该消息。
本发明所述方法中,步骤413中,接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期。
本发明所述方法中,车辆节点的车辆ID在生命周期内保持不变,在整个生命周期中由车辆ID唯一标识。
由于车辆ID在生命周期内保持不变,因此降低了由于地址更改带来的通信失败,从而提高了数据获取成功率。。
有益效果:本发明提供了一种基于定位信息的车联网实现方法,所述车联网通过本发明所提供的实现方法可获取网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的车联网体系结构示意图。
图2为本发明所述的接入节点或者接入路由的全局IPv6地址结构示意图。
图3为本发明所述的车辆节点的全局IPv6地址结构示意图。
图4为本发明所述的车辆节点的局部IPv6地址结构示意图。
图5为本发明所述的数据地址结构示意图。
图6为本发明所述的数据产生流程示意图。
图7为本发明所述的本地数据获取流程示意图。
图8为本发明所述的本地数据产生流程示意图。
图9为本发明所述的远程数据获取流程示意图。
图10为本发明所述的远程数据产生流程示意图。
具体实施方式:
本发明提供了一种基于定位信息的车联网实现方法,所述车联网通过本发明所提供的实现方法可获取网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的车联网体系结构示意图。所述车联网由接入路由器1、接入节点2和车辆节点3构成,所述车联网根据地理坐标划分为一个以上子网4,每个子网4的面积为长方形,子网面积的两条对角线的焦点称为该子网的中心点5,其地理坐标为(x,y),每个子网4由横坐标区间[x-w,x+w],和纵坐标区间来标识[y-l,y+l],2w为子网4的宽,2l为子网4的长度;w的取值范围为1km-10km,l的取值范围为1km-10km。
每个子网4包含一个接入路由器1和一个以上接入节点2,一个子网4内的所有接入节点2与相同子网4内的接入路由器1相连,每个接入节点2位于子网4的不同位置,其地理坐标具有唯一性;车辆节点3具有路由和转发功能。
图2为本发明所述的接入节点或者接入路由的全局IPv6地址结构示意图。每个接入节点或者接入路由器由一个全局IPv6地址标识,标识一个接入路由器或者接入节点的全局IPv6地址由四部分构成,第一部分和第二部分为32比特的子网横坐标和32比特的子网纵坐标,其值等于子网中心节点的地理横坐标和纵坐标;第三部分和第四部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入路由器或者接入节点的地理横坐标和纵坐标。
图3为本发明所述的车辆节点的全局IPv6地址结构示意图。每个车辆节点具有一个全局IPv6地址和一个局部IPv6地址,其中全局IPv6地址用于子网之间的路由,局部IPv6地址用于子网内的路由;车辆节点的全局IPv6地址由四部分构成,第一部分和第二部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;i的取值范围为[1,60]。
图4为本发明所述的车辆节点的局部IPv6地址结构示意图。车辆节点的局部IPv6地址由四部分构成,第一部分和第二部分为32比特的车辆节点横坐标和32比特的车辆节点纵坐标,其值等于车辆节点的地理横坐标和地理纵坐标;第三部分为i比特的扩展域,其值为0;第四部分为(64-i)比特的车辆ID,该车辆ID具有全球唯一性;i的取值范围为[1,60]。
车辆ID的设置空间为[1,264-i-1];当车联网划分为K子网时,那么第k子网中的车辆ID设置空间Pk如公式(1)所示,1≤k≤K:
当车辆节点启动后,向所在子网的接入路由器发送地址请求消息;接入路由器收到地址请求消息后,向车辆节点返回一个地址响应消息,该地址响应消息负载为最小未分配的车辆ID,然后接入路由器分配给车辆节点的车辆ID标记为已分配状态;车辆节点收到地址响应消息后,保存该车辆ID。
图5为本发明所述的数据地址结构示意图。一个数据ID定义一种数据类型;例如数据ID值为1的数据类型为车流量信息,数据ID为2的数据类型为空气污染度信息等;
车辆节点通过数据地址来获取某个地理坐标的数据,数据地址由三部分构成,第一部分和第二部分为32比特的接入节点横坐标和32比特的接入节点纵坐标,其值等于接入节点的地理横坐标和地理纵坐标;第三部分为64比特的数据信息域,数据信息域由数据横坐标、数据纵坐标和数据ID集合构成,其中,数据横坐标和数据纵坐标标识数据产生的地理位置,数据ID集合为与该地理位置相关的各种数据类型的数据ID集合;例如,由(x,y)坐标标识的地理位置的车流量和空气污染度等。
通过上述网络体系结构和地址结构,车辆节点可以从距离最近的接入节点获取数据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节点可以从其他远程网络获取数据,因此提高了数据获取的成功率。
图6为本发明所述的数据产生流程示意图。每个接入节点和车辆节点维护一个数据表,该数据表的表项包含四个域:数据ID域,地理坐标域,数据域和生存时间域。
本发明所述方法中,一个车辆节点启动后,首先获取所在车联网中的接入节点的地理坐标以及所在子网的地理横坐标区间和地理纵坐标区间,例如通过下载google地图的方式。
本发明所述方法中,在车辆节点V位于子网S1,位于子网S1的所有接入节点中接入节点AP1与车辆节点V的当前位置距离最近的情况下;当车辆节点V产生了与它当前地理位置(xV,yV)相关的数据时,执行以下步骤:
步骤101:开始;
步骤102:车辆节点V创建接入节点AP1的全局IPv6地址以及自己的局部IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标,在局部IPv6地址中,车辆节点横坐标和车辆节点纵坐标设置为(xV,yV),车辆ID设置为车辆节点V的车辆ID;
步骤103:车辆节点V发送数据分享消息,该数据分享消息的源地址为自己的局部IPv6地址,目的地址为接入节点AP1的全局IPv6地址,负载为产生的与地理位置(xV,yV)相关的数据,该数据的数据ID以及生命周期;
步骤104:根据目的地址中接入节点AP1的地理坐标,数据分享消息路由到接入节点AP1,数据分享消息所经过的路由路径中的中间车辆节点收到数据分享消息后,在数据表中创建一个表项,该表项的数据ID,数据值和生命周期分别设置为数据分享消息中的数据ID、数据值以及生命周期,该表项的地理坐标值设置为数据分享消息中目的地址中的车辆节点横坐标和车辆节点纵坐标值,即车辆节点V的地理坐标;
步骤105:结束。
通过上述过程,车辆节点可以产生并共享数据。这样车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节点可以从其他远程网络获取数据,因此提高了数据获取的成功率。
图7为本发明所述的本地数据获取流程示意图。在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤201:开始;
步骤202:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的各种数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤203:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤204:根据目的地址中的接入节点横坐标和接入节点纵坐标,将数据请求消息转发到下一跳节点;
步骤205:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤206,否则进行步骤207;
步骤206:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤210;
步骤207:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤208,否则进行步骤209;
步骤208:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤205;
步骤209:接入节点AP1获取车辆节点V请求的数据并向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP1接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤210:根据数据响应消息的目的地址,最终数据响应消息到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤211:结束。
通过上述过程,车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价。
图8为本发明所述的本地数据产生流程示意图。在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S1内,且子网S1中所有接入节点中接入节点AP1距离地理位置(xp,yp)最近,在步骤209中,接入节点AP1根据下述过程获取车辆节点V请求的数据:
步骤301:开始;
步骤302:接入节点AP1创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S1的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP1的地理横坐标和地理纵坐标;
步骤303:接入节点AP1将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤304:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤305:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤306,否则进行步骤307;
步骤306:下一跳节点向接入节点AP1返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤310;
步骤307:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤308,否则进行步骤309;
步骤308:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤305;
步骤309:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤310:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤311:结束。
如果本地网络没有数据,那么接入节点通过上述过程可以所在地址位置为(xp,yp)的车辆节点P产生数据,因此提高了数据获取的成功率。
图9为本发明所述的远程数据获取流程示意图。在车辆节点V位于子网S1中,子网S1的接入路由器为AR1,车辆节点V请求地理位置(xp,yp)的数据的情况下;
如果地理位置(xp,yp)位于子网S2内,子网S2的接入路由器为AR2,子网S2中所有接入节点中接入节点AP2距离地理位置(xp,yp)最近,子网S1中所有接入节点中接入节点AP1距离车辆节点V最近,那么车辆节点V执行下述步骤获取地理位置(xp,yp)的数据:
步骤401:开始;
步骤402:车辆节点V构建一个数据地址和一个局部IPv6地址,其中,数据地址中的接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和纵坐标,数据横坐标和数据纵坐标设置为(xp,yp),数据ID集合设置为车辆节点V所要获取的所有数据的数据ID集合,在局部IPv6地址中,车辆横坐标和车辆纵坐标设置为车辆节点V当前所在位置的地理横坐标和纵坐标,车辆ID为车辆节点V的车辆ID;
步骤403:车辆节点V发送数据请求消息,该数据请求消息的目的地址为构建的数据地址,源地址为构建的局部IPv6地址;
步骤404:根据目的地址中的接入节点横坐标和接入节点纵坐标,即接入节点AP2的地理位置,根据接入节点AP2位于子网S2,将数据请求消息转发到距离接入节点AP1最近的下一跳节点;
步骤405:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤406,否则进行步骤407;
步骤406:下一跳节点向车辆节点V返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤414;
步骤407:下一跳节点判断自己是否为接入节点AP1,如果不是则进行步骤408,否则进行步骤409;
步骤408:下一跳节点将接收到数据请求消息继续转发到距离接入节点AP1最近的下一跳节点,执行步骤405;
步骤409:接入节点AP1构建车辆节点V的全局IPv6地址,其中,全局IPv6地址的接入节点横坐标和接入节点纵坐标为接入节点AP1的地理横坐标和地理纵坐标,车辆ID设置为车辆节点V的车辆ID,然后将数据请求消息的源地址更新为车辆节点V的全局IPv6地址,并将该数据请求消息发送到接入路由器AR1;
步骤410:接入路由器AR1将收到的数据请求消息转发给接入路由器AR2,接入路由器AR2将收到的数据请求消息转发给接入节点AP2;
步骤411:接入节点AP2是否有车辆节点V请求的数据,如果是,进行步骤413,否则进行步骤412;
步骤412:接入节点AP2获取车辆节点V请求的数据;
步骤413:接入节点AP2向车辆节点V返回一个数据响应消息,数据响应消息的源地址为接入节点AP2接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,将数据响应消息发送给接入路由器AR2,接入路由器AR2根据数据响应消息的目的地址将数据响应消息转发给接入路由器AR1,接入路由器AR1根据数据响应消息的目的地址将数据响应消息转发给接入节点AP1,接入节点AP1收到数据响应消息后,将数据响应消息中的目的地址更新为车辆节点V的局部IPv6地址,然后发送该数据响应消息,同时接入节点AP1保存数据响应消息中的数据;
步骤414:根据数据响应消息的目的地址,数据响应消息最终到达车辆节点V,数据响应消息所经过的路由路径中的中间车辆节点以及车辆节点V收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤415:结束;
通过上述过程,车辆节点可以从距离最近的移动节点或者接入节点获取数据,因此降低了数据获取延迟和代价。
图10为本发明所述的远程数据产生流程示意图。在步骤412中,接入节点AP2根据下述过程获取车辆节点V请求的数据:
步骤501:开始;
步骤502:接入节点AP2创建自己的全局IPv6地址,在全局IPv6地址中,子网横坐标和子网纵坐标设置为子网S2的中心节点的地理横坐标和地理纵坐标,接入节点横坐标和接入节点纵坐标设置为接入节点AP2的地理横坐标和地理纵坐标;
步骤503:接入节点AP2将接收到的数据请求消息中的源地址更新为自己的全局IPv6地址,并发送该数据请求消息;
步骤504:根据目的地址中数据横坐标和数据纵坐标(xp,yp),将数据请求消息转发到下一跳节点;
步骤505:下一跳节点接收到数据请求消息后,查看自己是否保存了车辆节点V请求的数据,如果是进行步骤506,否则进行步骤507;
步骤506:下一跳节点向接入节点AP2返回一个数据响应消息,数据响应消息的源地址为下一跳节点接收到的数据请求消息的目的地址,目的地址为下一跳节点接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期,进行步骤510;
步骤507:下一跳节点判断自己的地理位置坐标是否为(xp,yp),如果不是则进行步骤508,否则进行步骤509;
步骤508:下一跳节点将接收到数据请求消息继续转发到下一跳节点,执行步骤505;
步骤509:地理位置坐标为(xp,yp)的车辆节点产生车辆节点V请求的数据,同时返回一个数据响应消息,数据响应消息的源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址,负载为车辆节点V请求的数据和生命周期;
步骤510:根据数据响应消息的目的地址,最终数据响应消息到达接入节点AP1,数据响应消息所经过的路由路径中的中间车辆节点以及接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据段ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期;
步骤511:结束。
如果网络没有数据,那么接入节点可以从远程子网获取或者产生数据,因此提高了数据获取的成功率。
车辆节点V由车辆ID唯一标识,如果多个车辆节点接收到数据响应消息,那么只保存目的地址中的车辆ID标识的车辆节点出来该消息,其他节点丢弃该消息。
步骤413中,接入节点AP1收到数据响应消息后,保存数据响应消息中的数据,即针对数据响应消息中源地址中的数据ID集合中的每一个数据ID在数据表中增加一个表项,地理坐标为数据响应消息中源地址中的数据横坐标和数据纵坐标,数据值和生命周期分别为数据响应消息负载中的数据值以及生命周期。
车辆节点的车辆ID在生命周期内保持不变,在整个生命周期中由车辆ID唯一标识。
由于车辆ID在生命周期内保持不变,因此降低了由于地址更改带来的通信失败,从而提高了数据获取成功率。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的车联网实现方法,性能分析如下:随着车辆节点速度的增加,数据获取延迟和代价都随之减少,主要原因是当车辆节点速度增加时,车辆节点分布面积增大,因此车辆节点可以从距离最近的车辆节点获取数据。当车辆节点速度为10m/s时,获取数据的路由长度为3跳,延迟为60ms。
表1 仿真参数
本发明提供了一种下一代车联网的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种基于定位信息的车联网实现方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0