利索能及
我要发布
收藏
专利号: 2017101966107
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于云的智能车联网数据通信方法,其特征在于,所述车联网由包括主干网和子网络;主干网包括两个以上的路由器;子网络包括接入路由器、接入节点和车辆节点三类节点,接入路由器和接入节点的拓扑结构为树状结构;其中,叶子节点为接入节点,根节点和中间节点为接入路由器;树状结构中,接入节点或者接入路由器通过自己的上游接口与父节点相连,父节点也称为上游节点,接入路由器通过自己的下游接口与子节点相连,子节点也称为下游节点;接入节点有一个无线接口和一个有线接口,有线接口用于连接上游的接入路由器即父节点,无线接口用于连接车辆节点,接入节点与车辆节点多跳可达;子网络的根节点的上游接口与主干网连接,子网络通过主干网与另一个子网络实现通信;车辆节点通过距离自己最近的接入节点实现通信,一个接入节点以及通过该接入节点实现通信的车辆节点构成一个名字域;一个车辆节点既可以作为数据的提供者,也可以作为数据的消费者;

一种与地理位置相关的数据由一个数据名称来定义,一个数据名称由名称前缀和名称ID构成,名称前缀分为两个以上的层次,用于定义一个地理位置,名称ID用于定义数据类型;

一个接入路由器或者一个接入节点由一个名称前缀唯一标识,如果一个接入路由器的名字前缀由x层次构成,那么它的下游接入路由器或者下游接入节点即子节点继承该接入路由器的x层网络前缀,且网络前缀被划分为y层,y>x,即下游接入路由器或者下游接入节点的y层网络前缀的前x层网络前缀,等于该接入路由器的前x层网络前缀;

一个名称域由该名称域的接入节点的名称前缀唯一标识;

子网络和主干网络通过路由表实现通信,一个路由表的表项由两个域构成:网络前缀域和接口域;

每个车辆节点、接入节点和接入路由器具有一个唯一的ID;

车辆节点或者接入节点发送的消息格式包括7个部分构成,名字域,消息类型域,源坐标域,源ID域,目的坐标域,目的ID域以及负载域;

消息类型如下表所示:

子网络的路由表建立过程如下所示:

步骤101:开始;

步骤102:子网络的接入节点或者接入路由器构建一个子网络发布消息,子网络发布消息的名字域中的名称前缀为该接入节点或者接入路由器的名称前缀,其中名字ID为0,消息类型域值为1,源坐标域值、源ID域值、目的坐标域值、目的ID域值和负载域值为空;

步骤103:判断自己是否为子网络的根接入路由器,如果是,则进行步骤106,否则进行步骤104;

步骤104:接入节点或者接入路由器从上游接口发送该子网络发布消息;

步骤105:上游接入路由器从与发送子网络发布消息的接入节点或者接入路由器相连的接口f接收到子网络发布消息后,在路由表中创建一个表项,表项的名称前缀域为子网络发布消息中名称域中的名称前缀,接口域值为f;

步骤106:结束;

主干网络的路由表建立过程如下所示:

步骤201:开始;

步骤202:子网络的根接入路由器构建一个主干网络发布消息,主干网络发布消息的名字域中的名称前缀为标识自己的名称前缀,其中名字ID为0,消息类型为2,源坐标域值、源ID域值、目的坐标域值、目的ID域值和负载域值为空;;

步骤203:根接入路由器从上游接口发送该主干网发布消息;

步骤204:主干网络中的路由器从与发送或者转发主干网发布消息的根接入路由器或者路由器连接的接口f1接收到主干网发布消息后,在路由表中创建一个表项,表项的名称前缀域为主干网发布消息中的名称前缀,接口域值为f1;

步骤205:主干网络中的路由器查看自己的每个接口,判断路由表中是否存在接口域值为该接口且名称前缀域值为接收到的主干网发布消息中的名称前缀的表项,如果存在,则执行步骤207,否则执行步骤206;

步骤206:主干网络中的路由器从该接口转发接收到的主干网发布消息,执行步骤204;

步骤207:结束;

接入路由器或者接入节点收到消息后,首先查看路由表,如果至少有一个表项的名称前缀域值与消息中的名称前缀的匹配程度高于自己的名称前缀与消息中的名称前缀的匹配程度,匹配程度是指两个名称前缀从首位开始对比,连续相同的位数越多,则两个名称前缀的匹配程度越高,接入路由器或者接入节点则选择名称前缀匹配程度最高的表项,然后从该表项的接口域转发接收到的消息;否则,则从上游接口转发接收到的消息。

2.根据权利要求1所述的一种基于云的智能车联网数据通信方法,其特征在于,一种与地理位置相关的数据由一个车载云产生,该车载云由定义该数据的数据名称定义,能够产生、保存和提供车载云所定义的数据的车辆节点或者接入节点称为云成员;

接入节点定期通过无线接口在一跳范围内广播信标帧,信标帧负载包括自己的地理坐标、ID值和名称前缀;车辆节点从接入节点接收到信标帧之后,保存该接入节点的地理坐标、ID值和名称前缀,然后定期在一跳范围内广播信标帧,信标帧负载为保存的接入节点的地理坐标、ID值和名称前缀;

车辆节点V1从另外一个车辆节点V2接收到信标帧后,如果车辆节点V1检测到与其他接入节点相比自己距离信标帧中的地理坐标最近,那么它保存信标帧中的地理坐标、ID值和名称前缀,然后定期在一跳范围内广播信标帧,信标帧负载为保存的接入节点的地理坐标、ID值和名称前缀;否则,车辆节点V1丢弃接收到的信标帧;

车载云采用云数据表保存和提供该车载云定义的数据,一个云数据表项包括三个域:

数据名称域、数据域以及生存时间域;其中数据名称域用来定义一种与地理位置相关的数据,数据域用于存储该种类型的数据,生存时间用于定义该种数据的生命时间,如果生命时间衰减为0,则该表项自动从云数据表中删除;

数据消费者采用云检索表和云请求表来获取数据;云检索表用于保存车载云成员的信息,云请求表用于实现云请求的聚合;

接入节点维护的云检索表中,一个表项包括数据名称域、云成员的地理坐标域、云成员的节点ID域和生命周期域;接入路由器维护的云检索表中,一个表项包括名称域、接口域和生命周期域;

接入节点维护的云请求表中,一个表项包括数据名称域、数据消费者的地理坐标域、数据消费者的节点ID域以及接口域;接入路由器维护的云请求表中,一个表项包括数据名称域以及接口域;

数据名称N1的名称前缀为NP1,名称ID为NID1,数据名称N1定义的数据为C1,接入节点CAP1位于名字域ND1中,接入节点CAP1由名称前缀NP1标识;

数据C1能够划分为n个部分数据,n个部分数据的并集等于数据C1;

接入节点CAP1为唯一有权限产生数据C1的接入节点,接入节点CAP1通过创建车载云VC1来创建数据C1,车载云VC1由数据名称N1来定义,创建数据C1的过程如下所示:步骤301:开始;

步骤302:接入节点CAP1通过无线接口发送车载云创建消息,车载云创建消息的名称域为数据名称N1,消息类型域值为3,源坐标域值和源ID域值为接入节点CAP1自己的地理坐标值和ID值,目的坐标域值、目的ID域值和负载域为空;

步骤303:如果接收到车载云创建消息的车辆节点位于名称域ND1中,则转发该车载云创建消息,否则丢弃该车载云创建消息;如果接收到车载云创建消息的车辆节点能够提供数据C1或者数据C1的部分数据,则执行步骤304,否则执行步骤306;

步骤304:接收到车载云创建消息的车辆节点构建一个车载云创建响应消息,该车载云创建响应消息的数据名称为N1,消息类型域值为4,源坐标域值和源ID域值为接收到车载云创建消息的车辆节点的坐标域和ID值,目的坐标域值和目的ID域值为接入节点CAP1的坐标域和ID值,负载域值为提供的数据,然后将车载云创建响应消息转发到距离目的坐标域值最近的邻居车辆节点;

步骤305:邻居车辆节点接收到车载云创建响应消息后将车载云创建响应消息转发到距离目的坐标域值最近的邻居车辆节点,步骤306:重复步骤305直到车载云创建响应消息最终到达接入节点CAP1;

步骤307:接入节点CAP1接收到所有返回的数据名称域值为N1的车载云创建响应消息后,将所有车载云创建响应消息的负载域值执行并操作从而构建成数据C1,在云数据表创建一个表项,该云数据表项中,数据名称域值为N1,数据域值为C1,生存时间域值为T1,然后接入节点CAP1将自己标记为车载云VC1的云成员,同时通过无线接口发送车载云创建确认消息,该车载云创建确认消息的数据名称为N1,消息类型域值为5,源坐标域值和源ID域值为自己的地理坐标值和ID值,目的坐标域值和目的ID域值为空,负载域值为数据C1以及生存时间T1;

步骤308:如果接收到车载云创建确认消息的车辆节点位于名称域ND1中,如果是,执行步骤309,否则执行步骤310;

步骤309:接收到车载云创建确认消息的车辆节点转发该车载云创建确认消息,同时在云数据表创建一个表项,该云数据表项中,数据名称域值为N1,数据域值为C1,生存时间域值为车载云创建确认消息中的生存时间,然后接收到车载云创建确认消息的车辆节点将自己标记为该车载云VC1的云成员,执行步骤308;

步骤310:接收到车载云创建确认消息的车辆节点丢弃该车载云创建确认消息;

步骤311:结束;

如果数据C1的生存时间衰减为0,那么数据名称域值为N1的表项从云数据表中删除,接入节点CAP1通过执行上述过程再次创建数据C1。

3.根据权利要求1所述的一种基于云的智能车联网数据通信方法,其特征在于,在车辆节点V4是车载云VC1的云成员,能够提供数据C1,名字域ND2的接入节点为CAP2,接入节点CAP2由名称前缀NP2标识的条件下,如果车辆节点V4从名字域ND1移动到名字域ND2,那么车辆节点V4执行下述移动切换操作:步骤401:开始;

步骤402:车辆节点V4构建车载云切换消息,云切换消息的名称域值为N1,消息类型域值为6,源地理坐标和ID值为车辆节点V4的地理坐标和ID值,目的地理坐标和ID值为接入节点CAP2的地理坐标和ID值,负载域值为数据C1的生命周期;车辆节点V4 将车载云切换消息转给距离目的地理坐标最近的邻居车辆节点;

步骤403:收到车载云切换消息的邻居车辆节点,将车载云切换消息转给距离目的地理坐标最近的自己的邻居车辆节点;

步骤404:重复步骤403直到车载云切换消息到达接入节点CAP2;

步骤405:接入节点CAP2收到车载云切换消息后,创建一个云检索表项,该云检索表项的数据名称域值为N1,地理坐标域和ID域值分别等于车载云切换消息的源地理坐标域值和源ID值,生命周期为接收到的车载云切换消息中的生命周期;

步骤406:接入节点CAP2查看云检索表判断是否只有一项数据名称域值为N1的云检索表项,如果是,进行步骤407,否则执行步骤412;

步骤407:接入节点CAP2从上游接口转发该车载云切换消息;

步骤408:上游接入路由器从接口f2收到车载云切换消息,上游接入路由器通过接口f2与转发车载云切换消息的接入路由器或者接入节点相连,上游接入路由器查看云检索表判断是否存在数据名称域值为N1的云检索表项,如果存在,进行步骤409,否则执行步骤410;

步骤409:上游接入路由器将接口f2加入到数据名称域值为N1的表项的接口域中,执行步骤412;

步骤410:上游接入路由器创建一个云检索表项,该云检索表项的数据名称域值为N1,接口域值为f2,生存时间为接收到的车载云切换消息中的生存时间,如果上游接入路由器为根接入路由器,则执行步骤412,否则执行步骤411;

步骤411:上游接入路由器从上游接口转发该车载云切换消息,执行步骤408;

步骤412:结束;

车辆节点V4执行移动切换后,定期向接入节点CAP2发送信标帧,信标帧负载为自己的当前地理坐标和ID值;

如果接入节点CAP2在规定时间内没有收到车辆节点V4的信标帧,则执行下述云检索表更新过程:步骤501:开始;

步骤502:接入节点CAP2从云检索表中删除数据名称为N1且ID值为车辆节点V4的ID的云检索表项,判断云检索表中是否还存在数据名称为N1的云检索表项,如果存在,执行步骤

508,否则执行步骤503;

步骤503:接入节点CAP2从上游接口发送车载云删除消息,其中数据名称域为N1,消息类型域为7,源地理坐标、源ID、目的地理坐标和目的ID以及负载都为空;

步骤504:上游接入路由器从自己的接口f3收到车载云删除消息,上游接入路由器通过接口f3与转发车载云删除消息的接入节点或者接入路由器相连,上游接入路由器查看云检索表中数据名称域值为N1的云检索表项,并从该云检索表项的接口域中删除f3,如果该接口域值为空,进行步骤505,否则执行步骤508;

步骤505:上游接入路由器判断自己是否为根接入路由器,如果是,则执行步骤506,否则执行步骤507;

步骤506:上游接入路由器删除数据名称域值为N1的云检索表项,执行步骤508;

步骤507:上游接入路由器从上游接口转发该车载云删除消息,删除数据名称域值为N1的表项,执行步骤504;

步骤508:结束。

4.根据权利要求3所述的一种基于云的智能车联网数据通信方法,其特征在于,在车辆节点V6位于名称域ND2中,名称域ND2的接入节点为CAP2,数据C2由数据名称N2定义,数据名称N2的名称前缀为NP2的条件下,如果接入节点CAP2由名称前缀NP2定义或者接入节点CAP2在云检索表中有数据名称域值为N2的云检索表项,那么车辆节点V6则根据下述过程获取数据C2:步骤601:开始;

步骤602:车辆节点V6创建一个车载云请求消息,其中数据名称域值为N2,消息类型域值为8,源地理坐标域和源ID值为车辆节点V6的地理坐标和ID值,目的地理坐标和目的ID值为接入节点CAP2的地理坐标和ID值,负载为空,然后将车载云请求消息转发到距离目的地理坐标最近的车辆节点或者接入节点CAP2;

步骤603:如果车辆节点接收到车载云请求消息,则执行步骤604,否则执行步骤607;

步骤604:如果接收到车载云请求消息的车辆节点能够提供数据C1,则执行步骤606,否则执行步骤605;

步骤605:接收到车载云请求消息的车辆节点将车载云请求消息转发到距离目的地理坐标最近的车辆节点或者接入节点CAP2,执行步骤603;

步骤606:接收到车载云请求消息的车辆节点创建一个车载云响应消息,其中数据名称域值为N2,消息类型域值为9,源地理坐标值和ID值为自己的地理坐标值和ID值,目的地理坐标值和ID值为车载云请求消息中的源地理坐标和ID值,负载为数据C2以及生存周期,然后接收到车载云请求消息的车辆节点将车载云响应消息转发到距离目的地理坐标最近的车辆节点,执行步骤612;

步骤607:接入节点CAP2从收到车载云请求消息后,判断自己是否由名称前缀NP2标识,如果是,进行步骤608,否则执行步骤609;

步骤608:如果接入节点CAP2在云数据表中没有保存数据C2,则执行步骤301~308创建数据C2;然后接入节点CAP2创建一个车载云响应消息,其中数据名称域值为N2,消息类型域值为9,源地理坐标值和ID值为自己的地理坐标值和ID值,目的地理坐标值和ID值为车载云请求消息中的源地理坐标和ID值,负载为数据C2以及生存周期,然后接入节点CAP2将车载云响应消息转发到距离目的地理坐标最近的车辆节点,执行步骤612;

步骤609:接入节点CAP2选择数据名称域值为N1的云检索表项,将车载云请求消息中的目的地理坐标和ID值更新为该云检索表项中的地理坐标值和ID值,将车载云请求消息转发到距离目的地理坐标最近的车辆节点,步骤610:车辆节点收到车载云请求消息后,将车载云请求消息转发到距离目的地理坐标最近的车辆节点;

步骤611:重复步骤610直到目的车辆节点接收到该车载云请求消息,然后目的车辆节点创建一个车载云响应消息,其中数据名称域值为N2,消息类型域值为9,源地理坐标值和ID值为自己的地理坐标值和ID值,目的地理坐标值和ID值为车载云请求消息中的源地理坐标和ID值,负载为数据C2以及保存数据C2的云数据表项中的生存周期,然后目的车辆节点将车载云响应消息转发到距离目的地理坐标最近的车辆节点,执行步骤612;

步骤612:如果车辆节点V6收到车载云响应消息后,则执行步骤613,否则执行步骤614;

步骤613:车辆节点V6在云数据表中创建一个表项,该表项的数据名称域值为N2,数据域值为C2,生存时间域值为车载云响应消息中的生存周期值,车辆节点V6转换为云成员,执行步骤615;

步骤614:接收到车载云响应消息的车辆节点将车载云响应消息转发到距离目的地理坐标最近的车辆节点,执行步骤612;

步骤615:如果接入节点CAP2并非由名称前缀NP2标识,车辆节点V6执行步骤401-412;

步骤616:结束。

5.根据权利要求2所述的一种基于云的智能车联网数据通信方法,其特征在于,在车辆节点V4位于名称域ND2中,名称域ND2的接入节点为CAP2,数据C1由数据名称N1定义,数据名称N1的名称前缀为NP1,接入节点CAP2由名称前缀NP2定义,接入节点CAP1由名称前缀NP1定义的条件下,如果接入节点CAP2在云检索表中没有数据名称域值为N1的云检索表项,那么车辆节点V4则根据下述过程获取数据C1:步骤701:开始;

步骤702:车辆节点V4创建一个车载云请求消息,其中数据名称域值为N1,消息类型域值为8,源地理坐标域和源ID值为车辆节点V4的地理坐标和ID值,目的地理坐标和目的ID值为接入节点CAP2的地理坐标和ID值,负载为空,然后将车载云请求消息转发到距离目的地理坐标最近的车辆节点;

步骤703:接收到车载云请求消息的车辆节点将车载云请求消息转发到距离目的地理坐标最近的车辆节点;

步骤704:重复步骤703直到车载云请求消息到达接入节点CAP2;接入节点CAP2从无线接口域w收到车载云请求消息后,在云请求表中创建一个云请求表项,该云请求表项的数据名称域值为N1,地理坐标域值和ID域值为车载云请求消息的源地理坐标值和ID值,接口域为w,接入节点CAP2判断云请求表中是否只有一项数据名称域值为N1的云请求表项,如果是,进行步骤705,否则进行步骤720;

步骤705:接入节点CAP2从上游接口转发车载云请求消息;

步骤706:接入路由器或者接入节点从接口f4接收到车载云请求消息,该接入路由器或者接入节点通过接口f4与转发车载云请求消息的接入节点或者接入路由器相连,接收到车载云请求消息的接入路由器或者接入节点在云请求表中创建一个云请求表项,该云请求表项的数据名称域值为N1,接口域值为f4;

步骤707:如果接入路由器从接口f4接收到车载云请求消息,则它创建的云请求表项中的地理坐标域值和ID域值为空;

步骤708:接收到车载云请求消息的接入路由器或者接入节点判断云请求表中是否只有一项数据名称域值为N1的云请求表项,如果是,进行步骤709,否则进行步骤720;

步骤709:如果接入路由器接收到车载云请求消息且在云检索表中没有数据名称域值为N1的云请求表项,则执行步骤710,否则执行步骤711;

步骤710:接收到车载云请求消息的接入路由器查看路由表,如果至少有一个表项的名称前缀域值与名称前缀NP1的匹配程度大于自己的名称前缀与名称前缀NP1的匹配程度,该接入路由器则选择名称前缀匹配程度最大的表项,然后从该表项的接口域转发车载云请求消息;否则,从上游接口转发车载云请求消息;最后,执行步骤706;匹配程度是指从最高位开始对比,连续相同的位数越多,证明匹配程度越高;

步骤711:如果接入路由器接收到车载云请求消息且在云检索表中有数据名称域值为N1的云检索表项,则执行步骤712,否则执行步骤713;

步骤712:接收到车载云请求消息的接入路由器从数据名称域值为N1的云检索表项的接口域转发车载云请求消息,执行步骤706;

步骤713:如果接入节点接收到车载云请求消息且在云检索表中有数据名称域值为N1的云检索表项,则执行步骤714,否则执行步骤719;

步骤714:接收到车载云请求消息的接入节点选择数据名称域值为N1的云检索表项,将车载云请求消息中的源地理坐标和ID值更新为自己的地理坐标值和ID值,目的地理坐标和ID值更新为该表项中的地理坐标值和ID值,将车载云请求消息转发到距离目的地理坐标最近的车辆节点;

步骤715:车辆节点收到车载云请求消息后,将车载云请求消息转发到距离目的地理坐标最近的车辆节点;

步骤716:重复步骤715直到目的车辆节点接收到该车载云请求消息,然后目的车辆节点创建一个车载云响应消息,其中数据名称域值为N1,消息类型域值为9,源地理坐标值和ID值为自己的地理坐标值和ID值,目的地理坐标值和ID值为车载云请求消息中的源地理坐标和ID值,负载为数据C2以及生存周期,然后将车载云响应消息转发到距离目的地理坐标最近的车辆节点;

步骤717:车辆节点收到车载云响应消息后,将车载云响应消息转发到距离目的地理坐标最近的车辆节点;

步骤718:重复步骤717直到目的接入节点接收到该车载云请求消息,执行步骤720;

步骤719:如果接收到车载云请求消息的接入节点在云数据表中没有保存数据C1,则执行步骤301~311创建数据C1;然后接入节点创建一个车载云响应消息,其中数据名称域值为N1,消息类型域值为9,源地理坐标值和ID值为自己的地理坐标值和ID值,目的地理坐标值和ID值为车载云请求消息中的源地理坐标和ID值,负载为数据C2以及生存周期,然后将车载云响应消息转发到距离目的地理坐标最近的车辆节点,执行步骤720;

步骤720:如果接入节点创建或者接收到车载云响应消息,则执行步骤721,否则执行步骤722;

步骤721:接入节点针对云请求表中每个数据名称域值为N1的表项进行如下操作:如果该表项的地理坐标域值和ID域值为空,从该表项的接口域转发该车载云响应消息;如果该表项的地理坐标域值和ID域值不为空,则将车载云响应消息中的地理坐标域值和ID域值更新为该表项中的地理坐标域值和ID域值,然后从无线接口发送该车载云响应消息;最后,接入节点从云请求表中删除该表项,执行步骤720;

步骤722:如果接入路由器接收到车载云响应消息,则执行步骤723,否则执行步骤724;

步骤723:接入路由器针对云请求表中每个数据名称域值为N1的表项进行如下操作:从该表项的接口域转发该车载云响应消息,从云请求表中删除该表项,执行步骤720;

步骤724:车辆节点V6收到车载云响应消息后,在云数据表中创建一个表项,该表项的数据名称域值为N1,数据域值为C1,生存时间域值为车载云响应消息中的生存周期值,车辆节点V4转换为云成员,执行步骤401-411;

步骤725:结束。