专利摘要
本发明提供了一种基于云的未来车联网数据通信方法,所述车联网包括接入节点和车辆节点两种节点;车辆节点具有路由转发功能,接入节点与互联网相连;每个接入节点的地理坐标具有唯一性;车辆节点通过距离自己最近的接入节点实现通信,一个接入节点以及通过该接入节点实现通信的所有车辆节点构成一个子网。车辆节点通过本发明所提供的实现方法能够从距离最近的云成员获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
权利要求
1.一种基于云的未来车联网数据通信方法,其特征在于,所述车联网包括接入节点和车辆节点两种节点;车辆节点具有路由转发功能,接入节点与互联网相连;每个接入节点的地理坐标具有唯一性;车辆节点通过距离自己最近的接入节点实现通信,一个接入节点以及通过该接入节点实现通信的所有车辆节点构成一个子网;
车辆节点和接入节点统称为设备节点;
每个接入节点保存一个接入节点表,每个接入节点表项包括地理位置坐标域和网络前缀域,该接入节点表为预先配置;
一种与地理范围相关的数据由一个数据名称定义,一个数据名称包含四个部分:地理横坐标、地理纵坐标、子网标识以及数据ID;数据名称的地理横坐标、地理纵坐标和子网标识定义了地理范围,数据ID定义了数据类型;当子网标识为1时,地理范围为地理坐标所在的子网,子网标识为0时,地理范围为地理坐标所在的一跳范围,即以该地理坐标为中心半径为传输半径的圆;与地理范围有关的数据的最大生存时间预先设置;
车辆节点和接入节点的单播地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标和节点ID构成;车辆节点的节点ID为自己的硬件ID;接入节点的单播地址预先设定,节点ID为0;车辆节点的节点ID保持不变,如果车辆节点的地理坐标发生变化,那么其单播地址的链路地址也发生变化,链路地址中的节点ID为车辆节点的节点ID,地理坐标为车辆节点当前的地理横坐标和地理纵坐标;
所述的云由两个以上的车辆节点构成,每个车辆节点称为云成员,云成员共同合作创建一种与地理范围相关的数据,云由定义该数据的数据名称定义;车辆节点采用云地址获取数据,云地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标、子网标识以及数据ID构成;云地址的链路地址对应一个数据名称;
每个云成员保存一个云数据表,用于保存自己能够提供的数据,每个云数据表由三个域构成:数据名称域、数据域以及生命周期域;如果一个云数据表项的生命周期衰减为0,那么云成员从云数据表中删除该表项;
每个车辆节点保存一个云索引表,用于保存所在子网云成员的信息,每个云索引表由三个域构成:数据名称域,单播地址的链路地址域以及生命周期域;如果一个云索引表项的生命周期衰减为0,那么从云索引表中删除该表项;
如果数据C1由数据名称CN1构成,数据名称CN1的地理横坐标和地理纵坐标(xCN1,yCN1)位于子网S1内,数据名称CN1的子网标识为0,数据ID为CID1,那么位于(xCN1,yCN1)的设备节点D1通过下述过程构建云VC1并创建数据C1:
步骤101:开始;
步骤102:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN1,然后设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤103:邻居设备节点收到构建云消息后,如果能产生或者提供数据C1或者数据C1的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;
步骤104:在规定时间内,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C1,然后发送一个云共享消息,云共享消息的源地址为步骤102中构建的单播地址,目的地址为步骤102中构建的云地址,负载为数据C1;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为设备节点D1自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC1的成员;
步骤105:邻居设备节点收到云共享消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC1的成员;
步骤106:结束。
2.根据权利要求1所述的一种基于云的未来车联网数据通信方法,其特征在于,如果数据C2由数据名称CN2构成,数据名称CN2的地理横坐标和地理纵坐标(xCN2,yCN2)位于子网S1内,数据名称CN1的子网标识为1,数据ID为CID2,那么位于(xCN2,yCN2)的设备节点D1通过下述过程构建云VC2并创建数据C2:
步骤201:开始;
步骤202:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN2,设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤203:邻居设备节点收到构建云消息后,如果邻居设备节点位于子网S1中,则执行步骤205,否则执行步骤204:
步骤204:邻居设备节点丢弃接收到的构建云消息,执行步骤206;
步骤205:如果邻居设备节点能产生或者提供数据C2或者数据C2的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;邻居设备节点转发接收到的构建云消息,执行步骤203;
步骤206:在规定时间内,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C2,然后发送一个云共享消息,云共享消息的源地址为步骤202中构建的单播地址,目的地址为步骤202中构建的云地址,负载为数据C2;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC2的成员;
步骤207:邻居设备节点收到云共享消息后,如果邻居设备节点位于子网S1中,则执行步骤209,否则执行步骤208;
步骤208:邻居设备节点丢弃接收到的云共享消息,执行步骤210;
步骤209:邻居设备节点创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,邻居设备节点将自己标识为云VC2的成员;邻居设备节点转发接收到的云共享消息,执行步骤207;
步骤210:结束。
3.根据权利要求2所述的一种基于云的未来车联网数据通信方法,其特征在于,每个设备节点定期广播一个信标消息,该信标消息的源地址为自己的单播地址,其中,单播地址中的网络前缀为0;如果云成员的地理坐标变化,那么它查找链路地址域值的节点ID等于自己的节点ID的云检索表项,将该云检索表项的链路地址域值的地理横坐标和地理纵坐标更新为自己当前的地理横坐标和地理纵坐标;
如果设备节点检测到自己的云检索表中有云检索表项更新,那么它将更新的云索引表项作为下一个信标消息的负载内容;
在子网S1的接入节点为AP1,地理坐标为(xAP1,yAP1),子网S2的接入节点为AP2,地理坐标为(xAP2,yAP2)的条件下,位于子网S1中且地理坐标为(x1,y1)的设备节点D1接收到邻居设备节点的信标消息后,如果该信标消息包含云检索表,那么设备节点D1进行如下更新云检索表操作:
步骤301:开始;
步骤302:设备节点D1查看信标消息负载中的云检索表,针对该云检索表中的每个云检索表项E进行如下操作:如果设备节点D1的云检索表中存在数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该云检索表项E的链路地址域值的节点ID,那么执行步骤303,否则执行步骤304;
步骤303:设备节点D1更新云检索表中数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该表项E的链路地址域值的节点ID的云检索表项,即将该云检索表项的链路地址域值中的地理横坐标和地理纵坐标更新为云检索表项E的地理横坐标和地理纵坐标;如果更新后的云检索表项既不满足条件1,也不满足条件2,那么设备节点D1删除更新后的云检索表项,执行步骤305;
条件1:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S1内;
条件2:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S2内且满足公式(1),x2为云检索表项的链路地址域值的地理横坐标,y2为云检索表项的链路地址域值的地理纵坐标;
步骤304:如果云检索表项E满足条件1和条件2,设备节点D1将云检索表项E加入到自己的云检索表中;
步骤305:结束。
4.根据权利要求2所述的一种基于云的未来车联网数据通信方法,其特征在于,在车辆节点V1位于子网S1内,数据C3由数据名称CN3定义,数据名称CN3的地理横坐标和地理纵坐标为(xCN3,yCN3),地理横坐标和地理纵坐标为(xCN3,yCN3)位于子网S1内的条件下,如果车辆节点V1需要获取数据C3,首先查看云检索表,如果不存在数据名称域值等于数据名称CN3的云检索表项,那么车辆节点V1通过下述过程获取数据C3:
步骤401:开始;
步骤402:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN3,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤403:设备节点收到请求数据消息后,如果该设备节点位于子网S1内,则执行步骤405,否则执行步骤404:
步骤404:收到请求数据消息的设备节点丢弃接收到的请求数据消息,执行步骤410;
步骤405:收到请求数据消息的设备节点判断请求数据消息的目的地址的链路地址的子网标识是否为0,如果是,执行步骤406,否则执行步骤409;
步骤406:如果收到请求数据消息的设备节点所在地理坐标等于请求数据消息的目的地址的链路地址的地理坐标,则执行步骤408,否则执行步骤407;
步骤407:收到请求数据消息的设备节点将请求数据消息转发到与请求数据消息目的地址的链路地址的地理坐标距离更近的设备节点,执行步骤403;
步骤408:收到请求数据消息的设备节点执行步骤101~106创建云VC3以及数据C3;收到请求数据消息的设备节点发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为数据C3,执行步骤410;
步骤409:如果接收到请求数据消息的设备节点能产生或者提供数据C3或者数据C3的一部分,则发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为产生或者提供的数据;收到请求数据消息的设备节点转发该请求数据消息,执行步骤403;
步骤410:车辆节点V1查看所有接收到的响应数据消息,将响应数据消息中的负载构建成数据C3,然后创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤411:结束。
5.根据权利要求3所述的一种基于云的未来车联网数据通信方法,其特征在于,在数据C3由数据名称CN3定义,由云VC3创建的条件下,如果车辆节点V2需要获取数据C3,它首先查看云检索表,如果存在数据名称域值等于数据名称CN3的云检索表项,则选择从距离最近的云VC3云成员V1获取数据C3:
步骤501:开始;
步骤502:车辆节点V2构建自己的单播地址和云成员V1的单播地址,车辆节点V2自己的单播地址中,网络前缀为0,链路地址为车辆节点V2的链路地址,云成员V1的单播地址中,网络前缀为0,链路地址为云成员V1的云检索表项中的链路地址,车辆节点V2发送一个请求数据消息,该请求数据消息的源地址为自己的单播地址,目的地址为云成员V1的单播地址,负载为数据名称CN3;
步骤503:云成员V1收到请求数据消息后,它发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为请求数据消息负载中的数据名称定义的数据,即数据C3;
步骤504:车辆节点V2收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤505:结束。
6.根据权利要求3所述的一种基于云的未来车联网数据通信方法,其特征在于,在车辆节点V1位于子网S1内,数据C4由数据名称CN4定义,由云VC4创建,数据名称CN4的地理横坐标和地理纵坐标为(xCN4,yCN4),地理横坐标和地理纵坐标为(xCN4,yCN4)位于子网S2内,子网S1的接入节点AP1的网络前缀为GRP1,子网S2的接入节点AP2的网络前缀为GRP2的条件下,如果车辆节点V1需要获取数据C4,它首先查看云检索表,如果不存在数据名称域值等于数据名称CN4的云检索表项,那么车辆节点V1通过下述过程获取数据C4:
步骤601:开始;
步骤602:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN4,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤603:设备节点收到请求数据消息后,将请求数据消息转发到距离接入节点AP1最近的设备节点;
步骤604:重复步骤603,最终接入节点AP1收到请求数据消息;接入节点AP1通过接入节点AP2的地理坐标判断出请求数据消息目的地址中的地理坐标(xCN4,yCN4)位于子网S2内,查询接入节点表获取地理坐标域值为接入节点AP2的地理坐标的表项并获取该表项的网络前缀域值,即网络前缀GRP2,接入节点AP1将请求数据消息中的源地址的网络前缀更新为网络前缀GRP1,目的地址的网络前缀更新为网络前缀GRP2,接入节点AP1将请求数据消息发送到互联网,请求数据消息通过互联网最终达到接入节点AP2;
步骤605:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云数据表项,如果存在,进行步骤606,否则执行步骤607:
步骤606:接入节点AP2发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤607:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云检索表项,如果存在,执行步骤608,否则执行步骤609:
步骤608:接入节点AP2选择数据名称为CN4且链路地址的地理坐标距离自己最近的云VC4云成员,将请求数据消息中的目的链路地址更新为VC4云成员的单播链路地址,负载更新为数据名称CN4,然后发送该请求数据消息;VC4云成员接收到请求数据消息后,发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤609:如果请求数据消息中的目的链路地址的子网标识为1,则执行步骤610,否则执行步骤611;
步骤610:接入节点AP2执行步骤201~210创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤611:如果接入节点AP2的地理坐标等于请求数据消息中的目的链路地址的地理坐标,则执行步骤612,否则执行步骤613;
步骤612:接入节点AP2执行步骤101~106创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤613:接入节点AP2将请求数据消息转发到距离与请求数据消息中的目的链路地址的地理坐标最近的设备节点;
步骤614:最终请求数据消息达到地理位置等于请求数据消息中的目的链路地址的地理坐标的设备节点;设备节点接收到请求数据消息后,执行步骤101~106创建数据C4,然后发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤615:车辆节点V1接收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN4,数据域值为数据C4,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN4,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC4的成员;
步骤616:结束。
说明书
技术领域
本发明涉及一种数据通信方法,尤其涉及的是一种基于云的未来车联网数据通信方法。
背景技术
云是建立在车联网之上且能提供本地服务的一种服务模式。近年来,很多研究工作致力于车联网,以便使车辆驾驶人能够快速获取网络服务。随着车联网技术的发展,车联网会成为未来提供服务的一种模式。
目前,车联网的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低车联网提供服务的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于云的未来车联网数据通信方法。本发明通过云来实现车联网的数据通信,从而降低数据通信延迟和代价,有效提高了网络服务性能。
技术方案:本发明公开了一种基于云的未来车联网数据通信方法,所述车联网包括接入节点和车辆节点两种节点;车辆节点具有路由转发功能,接入节点与互联网相连;每个接入节点的地理坐标具有唯一性;车辆节点通过距离自己最近的接入节点实现通信,一个接入节点以及通过该接入节点实现通信的所有车辆节点构成一个子网;
车辆节点和接入节点统称为设备节点;
每个接入节点保存一个接入节点表,每个接入节点表项包括地理位置坐标域和网络前缀域,该接入节点表为预先配置,例如地理坐标为(x1,y1)的接入节点的网络前缀为3FEC:1:1:1/64;
一种与地理范围相关的数据由一个数据名称定义,一个数据名称包含四个部分:地理横坐标、地理纵坐标、子网标识以及数据ID;数据名称的地理横坐标、地理纵坐标和子网标识定义了地理范围,数据ID定义了数据类型;当子网标识为1时,地理范围为地理坐标所在的子网,子网标识为0时,地理范围为地理坐标所在的一跳范围,即以该地理坐标为中心半径为传输半径的圆;与地理范围有关的数据的最大生存时间预先设置,一般设置的值范围是.,例如60min;
车辆节点和接入节点的单播地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标和节点ID构成;车辆节点的节点ID为自己的硬件ID,例如MAC地址;接入节点的单播地址预先设定,节点ID为0;车辆节点的节点ID保持不变,如果车辆节点的地理坐标发生变化,那么其单播地址的链路地址也发生变化,链路地址中的节点ID为车辆节点的节点ID,地理坐标为车辆节点当前的地理横坐标和地理纵坐标;
所述的云由两个以上的车辆节点构成,每个车辆节点称为云成员,云成员共同合作创建一种与地理范围相关的数据,云由定义该数据的数据名称定义;车辆节点采用云地址获取数据,云地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标、子网标识以及数据ID构成;云地址的链路地址对应一个数据名称;
每个云成员保存一个云数据表,用于保存自己能够提供的数据,每个云数据表由三个域构成:数据名称域、数据域以及生命周期域;如果一个云数据表项的生命周期衰减为0,那么云成员从云数据表中删除该表项;
每个车辆节点保存一个云索引表,用于保存所在子网云成员的信息,每个云索引表由三个域构成:数据名称域,单播地址的链路地址域以及生命周期域;如果一个云索引表项的生命周期衰减为0,那么从云索引表中删除该表项;
如果数据C1由数据名称CN1构成,数据名称CN1的地理横坐标和地理纵坐标(xCN1,yCN1)位于子网S1内,数据名称CN1的子网标识为0,数据ID为CID1,那么位于(xCN1,yCN1)的设备节点D1通过下述过程构建云VC1并创建数据C1:
步骤101:开始;
步骤102:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN1,然后设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤103:邻居设备节点收到构建云消息后,如果能产生或者提供数据C1或者数据C1的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;
步骤104:在规定时间内,例如1s,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C1,然后发送一个云共享消息,云共享消息的源地址为步骤102中构建的单播地址,目的地址为步骤102中构建的云地址,负载为数据C1;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间,例如10mins;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为设备节点D1自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,例如10mins,将自己标识为云VC1的成员;
步骤105:邻居设备节点收到云共享消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC1的成员;
步骤106:结束。
上述过程能够构建云和数据,从而确保用户能够快速从云成员获取数据。
本发明所述方法中,如果数据C2由数据名称CN2构成,数据名称CN2的地理横坐标和地理纵坐标(xCN2,yCN2)位于子网S1内,数据名称CN1的子网标识为1,数据ID为CID2,那么位于(xCN2,yCN2)的设备节点D1通过下述过程构建云VC2并创建数据C2:
步骤201:开始;
步骤202:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN2,设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤203:邻居设备节点收到构建云消息后,如果邻居设备节点位于子网S1中,则执行步骤205,否则执行步骤204:
步骤204:邻居设备节点丢弃接收到的构建云消息,执行步骤206;
步骤205:如果邻居设备节点能产生或者提供数据C2或者数据C2的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;邻居设备节点转发接收到的构建云消息,执行步骤203;
步骤206:在规定时间内,例如1s,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C2,然后发送一个云共享消息,云共享消息的源地址为步骤202中构建的单播地址,目的地址为步骤202中构建的云地址,负载为数据C2;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间,例如10mins;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,例如10mins,将自己标识为云VC2的成员;
步骤207:邻居设备节点收到云共享消息后,如果邻居设备节点位于子网S1中,则执行步骤209,否则执行步骤208;
步骤208:邻居设备节点丢弃接收到的云共享消息,执行步骤210;
步骤209:邻居设备节点创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,邻居设备节点将自己标识为云VC2的成员;邻居设备节点转发接收到的云共享消息,执行步骤207;
步骤210:结束;
上述过程能够构建云和数据,从而确保用户能够快速从云成员获取数据。
本发明所述方法中,每个设备节点定期广播一个信标消息,该信标消息的源地址为自己的单播地址,其中,单播地址中的网络前缀为0;如果云成员的地理坐标变化,那么它查找链路地址域值的节点ID等于自己的节点ID的云检索表项,将该云检索表项的链路地址域值的地理横坐标和地理纵坐标更新为自己当前的地理横坐标和地理纵坐标;
如果设备节点检测到自己的云检索表中有云检索表项更新,那么它将更新的云索引表项作为下一个信标消息的负载内容;
在子网S1的接入节点为AP1,地理坐标为(xAP1,yAP1),子网S2的接入节点为AP2,地理坐标为(xAP2,yAP2)的条件下,位于子网S1中且地理坐标为(x1,y1)的设备节点D1接收到邻居设备节点的信标消息后,如果该信标消息包含云检索表,那么设备节点D1进行如下更新云检索表操作:
步骤301:开始;
步骤302:设备节点D1查看信标消息负载中的云检索表,针对该云检索表中的每个云检索表项E进行如下操作:如果设备节点D1的云检索表中存在数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该云检索表项E的链路地址域值的节点ID,那么执行步骤303,否则执行步骤304;
步骤303:设备节点D1更新云检索表中数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该表项E的链路地址域值的节点ID的云检索表项,即将该云检索表项的链路地址域值中的地理横坐标和地理纵坐标更新为云检索表项E的地理横坐标和地理纵坐标;如果更新后的云检索表项既不满足条件1,也不满足条件2,那么设备节点D1删除更新后的云检索表项,执行步骤305;
条件1:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S1内;
条件2:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S2内且满足公式(1),x2为云检索表项的链路地址域值的地理横坐标,y2为云检索表项的链路地址域值的地理纵坐标;
步骤304:如果云检索表项E满足条件1和条件2,设备节点D1将云检索表项E加入到自己的云检索表中;
步骤305:结束。
上述过程能够确保云检索表的正确性从而确保用户能够正确快速地获取数据。
本发明所述方法中,在车辆节点V1位于子网S1内,数据C3由数据名称CN3定义,数据名称CN3的地理横坐标和地理纵坐标为(xCN3,yCN3),地理横坐标和地理纵坐标为(xCN3,yCN3)位于子网S1内的条件下,如果车辆节点V1需要获取数据C3,首先查看云检索表,如果不存在数据名称域值等于数据名称CN3的云检索表项,那么车辆节点V1通过下述过程获取数据C3:
步骤401:开始;
步骤402:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN3,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤403:设备节点收到请求数据消息后,如果该设备节点位于子网S1内,则执行步骤405,否则执行步骤404:
步骤404:收到请求数据消息的设备节点丢弃接收到的请求数据消息,执行步骤410;
步骤405:收到请求数据消息的设备节点判断请求数据消息的目的地址的链路地址的子网标识是否为0,如果是,执行步骤406,否则执行步骤409;
步骤406:如果收到请求数据消息的设备节点所在地理坐标等于请求数据消息的目的地址的链路地址的地理坐标,则执行步骤408,否则执行步骤407;
步骤407:收到请求数据消息的设备节点将请求数据消息转发到与请求数据消息目的地址的链路地址的地理坐标距离更近的设备节点,执行步骤403;
步骤408:收到请求数据消息的设备节点执行步骤101~106创建云VC3以及数据C3;收到请求数据消息的设备节点发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为数据C3,执行步骤410;
步骤409:如果接收到请求数据消息的设备节点能产生或者提供数据C3或者数据C3的一部分,则发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为产生或者提供的数据;收到请求数据消息的设备节点转发该请求数据消息,执行步骤403;
步骤410:车辆节点V1查看所有接收到的响应数据消息,将响应数据消息中的负载构建成数据C3,然后创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤411:结束。
上述过程能够确保用户正确快速地获取数据。
本发明所述方法中,在数据C3由数据名称CN3定义,由云VC3创建的条件下,如果车辆节点V2需要获取数据C3,它首先查看云检索表,如果存在数据名称域值等于数据名称CN3的云检索表项,则选择从距离最近的云VC3云成员V1获取数据C3:
步骤501:开始;
步骤502:车辆节点V2构建自己的单播地址和云成员V1的单播地址,车辆节点V2自己的单播地址中,网络前缀为0,链路地址为车辆节点V2的链路地址,云成员V1的单播地址中,网络前缀为0,链路地址为云成员V1的云检索表项中的链路地址,车辆节点V2发送一个请求数据消息,该请求数据消息的源地址为自己的单播地址,目的地址为云成员V1的单播地址,负载为数据名称CN3;
步骤503:云成员V1收到请求数据消息后,它发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为请求数据消息负载中的数据名称定义的数据,即数据C3;
步骤504:车辆节点V2收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤505:结束。
上述过程能够确保用户正确快速地获取数据。
本发明所述方法中,在车辆节点V1位于子网S1内,数据C4由数据名称CN4定义,由云VC4创建,数据名称CN4的地理横坐标和地理纵坐标为(xCN4,yCN4),地理横坐标和地理纵坐标为(xCN4,yCN4)位于子网S2内,子网S1的接入节点AP1的网络前缀为GRP1,子网S2的接入节点AP2的网络前缀为GRP2的条件下,如果车辆节点V1需要获取数据C4,它首先查看云检索表,如果不存在数据名称域值等于数据名称CN4的云检索表项,那么车辆节点V1通过下述过程获取数据C4:
步骤601:开始;
步骤602:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN4,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤603:设备节点收到请求数据消息后,将请求数据消息转发到距离接入节点AP1最近的设备节点;
步骤604:重复步骤603,最终接入节点AP1收到请求数据消息;接入节点AP1通过接入节点AP2的地理坐标判断出请求数据消息目的地址中的地理坐标(xCN4,yCN4)位于子网S2内,查询接入节点表获取地理坐标域值为接入节点AP2的地理坐标的表项并获取该表项的网络前缀域值,即网络前缀GRP2,接入节点AP1将请求数据消息中的源地址的网络前缀更新为网络前缀GRP1,目的地址的网络前缀更新为网络前缀GRP2,接入节点AP1将请求数据消息发送到互联网,请求数据消息通过互联网最终达到接入节点AP2;
步骤605:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云数据表项,如果存在,进行步骤606,否则执行步骤607:
步骤606:接入节点AP2发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤607:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云检索表项,如果存在,执行步骤608,否则执行步骤609:
步骤608:接入节点AP2选择数据名称为CN4且链路地址的地理坐标距离自己最近的云VC4云成员,将请求数据消息中的目的链路地址更新为VC4云成员的单播链路地址,负载更新为数据名称CN4,然后发送该请求数据消息;VC4云成员接收到请求数据消息后,发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤609:如果请求数据消息中的目的链路地址的子网标识为1,则执行步骤610,否则执行步骤611;
步骤610:接入节点AP2执行步骤201~210创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤611:如果接入节点AP2的地理坐标等于请求数据消息中的目的链路地址的地理坐标,则执行步骤612,否则执行步骤613;
步骤612:接入节点AP2执行步骤101~106创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤613:接入节点AP2将请求数据消息转发到距离与请求数据消息中的目的链路地址的地理坐标最近的设备节点;
步骤614:最终请求数据消息达到地理位置等于请求数据消息中的目的链路地址的地理坐标的设备节点;设备节点接收到请求数据消息后,执行步骤101~106创建数据C4,然后发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤615:车辆节点V1接收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN4,数据域值为数据C4,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN4,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC4的成员;
步骤616:结束。
上述过程能够确保用户正确快速地获取数据。
有益效果:本发明提供了一种基于云的未来车联网数据通信方法,车辆节点通过本发明所提供的实现方法能够从距离最近的云成员获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的云创建流程示意图。
图2为本发明所述的数据创建流程示意图。
图3为本发明所述的更新云检索表流程示意图。
图4为本发明所述的子网内获取数据流程示意图。
图5为本发明所述的本地获取数据流程示意图。
图6为本发明所述的远程获取数据流程示意图。
具体实施方式:
本发明提供了一种基于云的未来车联网数据通信方法,车辆节点通过本发明所提供的实现方法能够从距离最近的云成员获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的云创建流程示意图。所述车联网包括接入节点和车辆节点两种节点;车辆节点具有路由转发功能,接入节点与互联网相连;每个接入节点的地理坐标具有唯一性;车辆节点通过距离自己最近的接入节点实现通信,一个接入节点以及通过该接入节点实现通信的所有车辆节点构成一个子网;
车辆节点和接入节点统称为设备节点;
每个接入节点保存一个接入节点表,每个接入节点表项包括地理位置坐标域和网络前缀域,该接入节点表为预先配置;
一种与地理范围相关的数据由一个数据名称定义,一个数据名称包含四个部分:地理横坐标、地理纵坐标、子网标识以及数据ID;数据名称的地理横坐标、地理纵坐标和子网标识定义了地理范围,数据ID定义了数据类型;当子网标识为1时,地理范围为地理坐标所在的子网,子网标识为0时,地理范围为地理坐标所在的一跳范围,即以该地理坐标为中心半径为传输半径的圆;与地理范围有关的数据的最大生存时间预先设置;
车辆节点和接入节点的单播地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标和节点ID构成;车辆节点的节点ID为自己的硬件ID;接入节点的单播地址预先设定,节点ID为0;车辆节点的节点ID保持不变,如果车辆节点的地理坐标发生变化,那么其单播地址的链路地址也发生变化,链路地址中的节点ID为车辆节点的节点ID,地理坐标为车辆节点当前的地理横坐标和地理纵坐标;
所述的云由两个以上的车辆节点构成,每个车辆节点称为云成员,云成员共同合作创建一种与地理范围相关的数据,云由定义该数据的数据名称定义;车辆节点采用云地址获取数据,云地址由网络前缀和链路地址构成,链路地址由地理横坐标、地理纵坐标、子网标识以及数据ID构成;云地址的链路地址对应一个数据名称;
每个云成员保存一个云数据表,用于保存自己能够提供的数据,每个云数据表由三个域构成:数据名称域、数据域以及生命周期域;如果一个云数据表项的生命周期衰减为0,那么云成员从云数据表中删除该表项;
每个车辆节点保存一个云索引表,用于保存所在子网云成员的信息,每个云索引表由三个域构成:数据名称域,单播地址的链路地址域以及生命周期域;如果一个云索引表项的生命周期衰减为0,那么从云索引表中删除该表项;
如果数据C1由数据名称CN1构成,数据名称CN1的地理横坐标和地理纵坐标(xCN1,yCN1)位于子网S1内,数据名称CN1的子网标识为0,数据ID为CID1,那么位于(xCN1,yCN1)的设备节点D1通过下述过程构建云VC1并创建数据C1:
步骤101:开始;
步骤102:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN1,然后设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤103:邻居设备节点收到构建云消息后,如果能产生或者提供数据C1或者数据C1的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;
步骤104:在规定时间内,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C1,然后发送一个云共享消息,云共享消息的源地址为步骤102中构建的单播地址,目的地址为步骤102中构建的云地址,负载为数据C1;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为设备节点D1自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC1的成员;
步骤105:邻居设备节点收到云共享消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN1,数据域值为数据C1,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN1,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC1的成员;
步骤106:结束。
图2为本发明所述的数据创建流程示意图。如果数据C2由数据名称CN2构成,数据名称CN2的地理横坐标和地理纵坐标(xCN2,yCN2)位于子网S1内,数据名称CN1的子网标识为1,数据ID为CID2,那么位于(xCN2,yCN2)的设备节点D1通过下述过程构建云VC2并创建数据C2:
步骤201:开始;
步骤202:设备节点D1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为设备节点D1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN2,设备节点D1发送一个构建云消息,该构建云消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤203:邻居设备节点收到构建云消息后,如果邻居设备节点位于子网S1中,则执行步骤205,否则执行步骤204:
步骤204:邻居设备节点丢弃接收到的构建云消息,执行步骤206;
步骤205:如果邻居设备节点能产生或者提供数据C2或者数据C2的一部分,那么构建一个单播地址,单播地址中,网络前缀为0,链路地址为邻居设备节点的链路地址,然后邻居设备节点发送一个云响应消息,该云响应消息的源地址为构建的单播地址,目的地址为云消息的源地址,负载为产生或者提供的数据;邻居设备节点转发接收到的构建云消息,执行步骤203;
步骤206:在规定时间内,设备节点D1查看所有接收到的云响应消息,将云响应消息中的负载构建成数据C2,然后发送一个云共享消息,云共享消息的源地址为步骤202中构建的单播地址,目的地址为步骤202中构建的云地址,负载为数据C2;设备节点D1创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间;设备节点D1创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC2的成员;
步骤207:邻居设备节点收到云共享消息后,如果邻居设备节点位于子网S1中,则执行步骤209,否则执行步骤208;
步骤208:邻居设备节点丢弃接收到的云共享消息,执行步骤210;
步骤209:邻居设备节点创建一个云数据表项,该云数据表项的数据名称域值为CN2,数据域值为数据C2,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN2,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,邻居设备节点将自己标识为云VC2的成员;邻居设备节点转发接收到的云共享消息,执行步骤207;
步骤210:结束。
图3为本发明所述的更新云检索表流程示意图。每个设备节点定期广播一个信标消息,该信标消息的源地址为自己的单播地址,其中,单播地址中的网络前缀为0;如果云成员的地理坐标变化,那么它查找链路地址域值的节点ID等于自己的节点ID的云检索表项,将该云检索表项的链路地址域值的地理横坐标和地理纵坐标更新为自己当前的地理横坐标和地理纵坐标;
如果设备节点检测到自己的云检索表中有云检索表项更新,那么它将更新的云索引表项作为下一个信标消息的负载内容;
在子网S1的接入节点为AP1,地理坐标为(xAP1,yAP1),子网S2的接入节点为AP2,地理坐标为(xAP2,yAP2)的条件下,位于子网S1中且地理坐标为(x1,y1)的设备节点D1接收到邻居设备节点的信标消息后,如果该信标消息包含云检索表,那么设备节点D1进行如下更新云检索表操作:
步骤301:开始;
步骤302:设备节点D1查看信标消息负载中的云检索表,针对该云检索表中的每个云检索表项E进行如下操作:如果设备节点D1的云检索表中存在数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该云检索表项E的链路地址域值的节点ID,那么执行步骤303,否则执行步骤304;
步骤303:设备节点D1更新云检索表中数据名称域值等于该云检索表项E的数据名称域值,且链路地址域值的节点ID等于该表项E的链路地址域值的节点ID的云检索表项,即将该云检索表项的链路地址域值中的地理横坐标和地理纵坐标更新为云检索表项E的地理横坐标和地理纵坐标;如果更新后的云检索表项既不满足条件1,也不满足条件2,那么设备节点D1删除更新后的云检索表项,执行步骤305;
条件1:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S1内;
条件2:云检索表项的链路地址域值的地理横坐标和地理纵坐标位于子网S2内且满足公式(1),x2为云检索表项的链路地址域值的地理横坐标,y2为云检索表项的链路地址域值的地理纵坐标;
步骤304:如果云检索表项E满足条件1和条件2,设备节点D1将云检索表项E加入到自己的云检索表中;
步骤305:结束。
图4为本发明所述的子网内获取数据流程示意图。在车辆节点V1位于子网S1内,数据C3由数据名称CN3定义,数据名称CN3的地理横坐标和地理纵坐标为(xCN3,yCN3),地理横坐标和地理纵坐标为(xCN3,yCN3)位于子网S1内的条件下,如果车辆节点V1需要获取数据C3,首先查看云检索表,如果不存在数据名称域值等于数据名称CN3的云检索表项,那么车辆节点V1通过下述过程获取数据C3:
步骤401:开始;
步骤402:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN3,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤403:设备节点收到请求数据消息后,如果该设备节点位于子网S1内,则执行步骤405,否则执行步骤404:
步骤404:收到请求数据消息的设备节点丢弃接收到的请求数据消息,执行步骤410;
步骤405:收到请求数据消息的设备节点判断请求数据消息的目的地址的链路地址的子网标识是否为0,如果是,执行步骤406,否则执行步骤409;
步骤406:如果收到请求数据消息的设备节点所在地理坐标等于请求数据消息的目的地址的链路地址的地理坐标,则执行步骤408,否则执行步骤407;
步骤407:收到请求数据消息的设备节点将请求数据消息转发到与请求数据消息目的地址的链路地址的地理坐标距离更近的设备节点,执行步骤403;
步骤408:收到请求数据消息的设备节点执行步骤101~106创建云VC3以及数据C3;收到请求数据消息的设备节点发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为数据C3,执行步骤410;
步骤409:如果接收到请求数据消息的设备节点能产生或者提供数据C3或者数据C3的一部分,则发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为产生或者提供的数据;收到请求数据消息的设备节点转发该请求数据消息,执行步骤403;
步骤410:车辆节点V1查看所有接收到的响应数据消息,将响应数据消息中的负载构建成数据C3,然后创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤411:结束。
图5为本发明所述的本地获取数据流程示意图。在数据C3由数据名称CN3定义,由云VC3创建的条件下,如果车辆节点V2需要获取数据C3,它首先查看云检索表,如果存在数据名称域值等于数据名称CN3的云检索表项,则选择从距离最近的云VC3云成员V1获取数据C3:
步骤501:开始;
步骤502:车辆节点V2构建自己的单播地址和云成员V1的单播地址,车辆节点V2自己的单播地址中,网络前缀为0,链路地址为车辆节点V2的链路地址,云成员V1的单播地址中,网络前缀为0,链路地址为云成员V1的云检索表项中的链路地址,车辆节点V2发送一个请求数据消息,该请求数据消息的源地址为自己的单播地址,目的地址为云成员V1的单播地址,负载为数据名称CN3;
步骤503:云成员V1收到请求数据消息后,它发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求消息中的源地址,负载为请求数据消息负载中的数据名称定义的数据,即数据C3;
步骤504:车辆节点V2收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN3,数据域值为数据C3,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN3,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC3的成员;
步骤505:结束。
图6为本发明所述的远程获取数据流程示意图。在车辆节点V1位于子网S1内,数据C4由数据名称CN4定义,由云VC4创建,数据名称CN4的地理横坐标和地理纵坐标为(xCN4,yCN4),地理横坐标和地理纵坐标为(xCN4,yCN4)位于子网S2内,子网S1的接入节点AP1的网络前缀为GRP1,子网S2的接入节点AP2的网络前缀为GRP2的条件下,如果车辆节点V1需要获取数据C4,它首先查看云检索表,如果不存在数据名称域值等于数据名称CN4的云检索表项,那么车辆节点V1通过下述过程获取数据C4:
步骤601:开始;
步骤602:车辆节点V1构建一个单播地址和一个云地址,单播地址中,网络前缀为0,链路地址为车辆节点V1的链路地址,云地址中,网络前缀为0,链路地址为数据名称CN4,车辆节点V1发送一个请求数据消息,该请求数据消息的源地址为构建的单播地址,目的地址为构建的云地址,负载为空;
步骤603:设备节点收到请求数据消息后,将请求数据消息转发到距离接入节点AP1最近的设备节点;
步骤604:重复步骤603,最终接入节点AP1收到请求数据消息;接入节点AP1通过接入节点AP2的地理坐标判断出请求数据消息目的地址中的地理坐标(xCN4,yCN4)位于子网S2内,查询接入节点表获取地理坐标域值为接入节点AP2的地理坐标的表项并获取该表项的网络前缀域值,即网络前缀GRP2,接入节点AP1将请求数据消息中的源地址的网络前缀更新为网络前缀GRP1,目的地址的网络前缀更新为网络前缀GRP2,接入节点AP1将请求数据消息发送到互联网,请求数据消息通过互联网最终达到接入节点AP2;
步骤605:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云数据表项,如果存在,进行步骤606,否则执行步骤607:
步骤606:接入节点AP2发送一个响应数据消息,响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤607:判断接入节点AP2的云数据表中是否存在数据名称为CN4的云检索表项,如果存在,执行步骤608,否则执行步骤609:
步骤608:接入节点AP2选择数据名称为CN4且链路地址的地理坐标距离自己最近的云VC4云成员,将请求数据消息中的目的链路地址更新为VC4云成员的单播链路地址,负载更新为数据名称CN4,然后发送该请求数据消息;VC4云成员接收到请求数据消息后,发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤609:如果请求数据消息中的目的链路地址的子网标识为1,则执行步骤610,否则执行步骤611;
步骤610:接入节点AP2执行步骤201~210创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤611:如果接入节点AP2的地理坐标等于请求数据消息中的目的链路地址的地理坐标,则执行步骤612,否则执行步骤613;
步骤612:接入节点AP2执行步骤101~106创建数据C4,接入节点AP2发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤613:接入节点AP2将请求数据消息转发到距离与请求数据消息中的目的链路地址的地理坐标最近的设备节点;
步骤614:最终请求数据消息达到地理位置等于请求数据消息中的目的链路地址的地理坐标的设备节点;设备节点接收到请求数据消息后,执行步骤101~106创建数据C4,然后发送一个响应数据消息,该响应数据消息的源地址为接收到的请求数据消息中的目的地址,目的地址为请求数据消息中的源地址,负载为数据C4,执行步骤615;
步骤615:车辆节点V1接收到响应数据消息后,创建一个云数据表项,该云数据表项的数据名称域值为CN4,数据域值为数据C4,生存时间为该数据类型的最大生存时间,同时创建一个云索引表项,该云索引表项的数据名称域值为CN4,链路地址值为自己单播地址的链路地址,生存时间为该数据类型的最大生存时间,将自己标识为云VC4的成员;
步骤616:结束。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中基于云的未来车联网数据通信方法,性能分析如下:当车辆节点速度增加时,云成员分布面积更广泛,因此用户与云成员的节点随之降低,获取数据的代价也随之降低。车辆节点获取服务数据的平均代价为6.5。
表1仿真参数
本发明提供了一种基于云的未来车联网数据通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种基于云的未来车联网数据通信方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0