首页 > 专利 > 常熟理工学院 > 一种基于车载云的网络数据通信方法专利详情

一种基于车载云的网络数据通信方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-05-08
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2018-12-04
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-11-03
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-05-08
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201810431395.9 申请日 2018-05-08
公开/公告号 CN108777702B 公开/公告日 2020-11-03
授权日 2020-11-03 预估到期日 2038-05-08
申请年 2018年 公开/公告年 2020年
缴费截止日
分类号 H04L29/08H04W4/44 主分类号 H04L29/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 4
权利要求数量 5 非专利引证数量 1
引用专利数量 0 被引证专利数量 0
非专利引证 1、CN 106973105 A,2017.07.21CN 106453081 A,2017.02.22CN 104717307 A,2015.06.17Xiaonan Wang."IPv6-Based VehicularCloud Networking"《.IEEE COMMUNICATIONSLETTERS》.2015,全文.;
引用专利 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 常熟理工学院 当前专利权人 常熟理工学院
发明人 王晓喃 第一发明人 王晓喃
地址 江苏省苏州市常熟市常熟理工学院(东南校区)计算机科学与工程学院 邮编 215500
申请人数量 1 发明人数量 1
申请人所在省 江苏省 申请人所在市 江苏省苏州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
江苏圣典律师事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
胡建华
摘要
本发明提供了一种基于车载云的网络数据通信方法,所述网络包括接入节点和车辆节点,每个接入节点的地理坐标具有唯一性;一个接入节点和两个以上的车辆节点构成一个域,所述车辆节点在所有的接入节点中距离自己所在域的接入节点距离最近;车辆节点通过本发明所提供的车载云实现方法能够从距离最近的云成员以单播方式获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
  • 摘要附图
    一种基于车载云的网络数据通信方法
  • 说明书附图:图1
    一种基于车载云的网络数据通信方法
  • 说明书附图:图2
    一种基于车载云的网络数据通信方法
  • 说明书附图:图3
    一种基于车载云的网络数据通信方法
  • 说明书附图:图4
    一种基于车载云的网络数据通信方法
  • 说明书附图:图5
    一种基于车载云的网络数据通信方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-11-03 授权
2 2018-12-04 实质审查的生效 IPC(主分类): H04L 29/08 专利申请号: 201810431395.9 申请日: 2018.05.08
3 2018-11-09 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于车载云的网络数据通信方法,其特征在于,所述网络包括接入节点和车辆节点,每个接入节点的地理坐标具有唯一性;一个接入节点和两个以上的车辆节点构成一个域,所述车辆节点在所有的接入节点中距离自己所在域的接入节点距离最近;
车辆节点通过消息实现通信,一个消息包括名称集合域、数据坐标域、源坐标域、目的坐标域和负载;
一种数据由一个名称唯一标识;对于每种数据,接入节点维护一个数据表,该数据表的表名等于标识该种数据的名称;一个数据表项包含坐标域、数据域和生命周期域,其中,生命周期域值为预先设置的值;
如果接入节点AP1位于域D1中,接入节点AP1通过下述过程构建车载云:
步骤101:开始;
步骤102:接入节点AP1发送一个创建消息,该创建消息的名称集合域值为创建的数据的名称集合,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为空;
步骤103:车辆节点收到该创建消息后,判断该车辆节点是否位于域D1中,是则执行步骤104,否则执行步骤107;
步骤104:判断位于域D1中的车辆节点是否能提供接收到的创建消息名称集合中名称所标识的一种或者两种以上的数据,如果能,则执行步骤105,否则执行步骤106;
步骤105:接收到创建消息的车辆节点针对每个能提供的数据创建一个二元组<名称,数据>,其中名称为标识所提供数据的名称,数据为自己所能提供的数据,车辆节点发送一个云数据消息,该云数据消息的名称集合域值为所提供的数据的名称的集合,数据坐标为该车辆节点的坐标,源坐标为该车辆节点的坐标,目的坐标为接收到的创建消息的源坐标,负载为构建的二元组;
步骤106:接收到创建消息的车辆节点将创建消息转发给邻居车辆节点,执行步骤103;
步骤107:判断是否接入节点AP1接收到云数据消息,如果是则执行步骤109,否则执行步骤108;
步骤108:车辆节点接收到云数据消息后,将该云数据消息转发到距离该云数据消息中的目的坐标最近的车辆节点或者接入节点AP1,执行步骤107;
步骤109:接入节点AP1接收到云数据消息后,对于云数据消息负载中的每个二元组执行下述操作:接入节点AP1查看自己的数据表,如果任何一个数据表的表名都不等于该二元组的名称,接入节点AP1则创建一个数据表,该数据表的表名等于该二元组的名称,否则接入节点AP1不创建任何数据表;然后,接入节点AP1在该数据表中创建一个数据表项,该数据表项的坐标域值等于该云数据消息的数据坐标,数据域值等于该二元组中的数据值,生命周期为预定值;
步骤110:接入节点AP1发送一个分享消息,该分享消息的名称集合域值为空,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为保存的数据表;接入节点AP1将自己标记为一个云成员;
步骤111:判断接收到分享消息的车辆节点是否位于域D1中,如果是则执行步骤112,否则执行步骤113;
步骤112:接收到分享消息的车辆节点保存分享消息负载中的所有数据表,将自己标记为云成员;
步骤113:结束。

2.根据权利要求1所述的一种基于车载云的网络数据通信方法,其特征在于,在车辆节点V5位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1),车辆节点V5准备获取坐标为(x2,y2)且名称集合为NS1中所有名称所标识的数据的条件下,如果坐标(x2,y2)位于域D1中,车辆节点V5则执行下述过程获取数据:
步骤201:开始;
步骤202:车辆节点V5构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V5当前的坐标,目的坐标为(x1,y1),将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1;
步骤203:判断是否接入节点AP1接收到该请求消息,如果是则执行步骤207,否则执行步骤204;
步骤204:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤205,否则执行步骤206;
步骤205:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤208;
步骤206:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1,执行步骤203;
步骤207:接收到请求消息的接入节点AP1针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;接入节点AP1发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所提供的数据表项;
步骤208:判断是否车辆节点V5接收到响应消息,如果是则执行步骤210,否则执行步骤
209;
步骤209:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤208;
步骤210:车辆节点V5接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V5没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,否则车辆节点V5则不创建任何数据表;然后,车辆节点V5将该二元组中的数据表项加入到数据表表名为该二元组中的名称的数据表中;
步骤211:结束。

3.根据权利要求1所述的一种基于车载云的网络数据通信方法,其特征在于,每个接入节点维护一个请求表,一个请求表项包含名称集合域、数据坐标域、源坐标域以及序列号域;
在车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),如果坐标(x2,y2)位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1)的条件下,车辆节点V6准备获取坐标为(x2,y2)且名称集合为NS1中所有名称所标识的数据,则执行下述过程获取数据:
步骤301:开始;
步骤302:车辆节点V6构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为序列号,该序列号为随机数,将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;
步骤303:判断是否接入节点AP3接收到该请求消息,如果是则执行步骤307,否则执行步骤304;
步骤304:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤305,否则执行步骤306;
步骤305:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤316;
步骤306:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤303;
步骤307:接入节点AP3接收到请求消息后,在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤308,否则执行步骤313;
步骤308:接入节点AP3将接收到的请求消息中的源坐标更新为接入节点AP3的坐标,将目的坐标更新为距离数据坐标最近的接入节点AP1的坐标,该请求消息转发到距离目的坐标最近的接入节点;
步骤309:判断是否接入节点AP1接收到请求消息,如果是则执行步骤312,否则执行步骤310;
步骤310:接收到请求消息的接入节点在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤
311,否则执行步骤313;
步骤311:接收到请求消息的接入节点将该请求消息转发到距离目的坐标最近的接入节点,执行步骤309;
步骤312:接入节点AP1接收到请求消息后,针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;
接入节点AP1创建一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组;
步骤313:创建或者接收到响应消息的接入节点选择所有名称集合域值和数据坐标域值等于该响应消息的名称集合域值和数据坐标域值的请求表项,对于每个请求表项执行下述操作:该接入节点将响应消息的目的坐标更新为该请求表项的源坐标,如果该响应消息的目的坐标位于该接入节点所在的域内,则执行步骤315,否则执行步骤314;
步骤314:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的接入节点,执行步骤313;
步骤315:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的车辆节点;
步骤316:判断是否车辆节点V6接收到响应消息,如果是则执行步骤318,否则执行步骤
317;
步骤317:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤316;
步骤318:车辆节点V6接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V6没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,将该二元组中的数据表项加入到数据表表名为该二元组中的名称的数据表中;
步骤319:结束。

4.根据权利要求3所述的一种基于车载云的网络数据通信方法,其特征在于,车辆节点V6发送请求消息后,如果其坐标发生变化,则执行下述更新操作:
步骤401:开始;
步骤402:车辆节点V6构建更新消息,该更新消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为发送的请求消息中的序列号,将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;
步骤403:判断是否接入节点AP3接收到该更新消息,如果是则执行步骤405,否则执行步骤404;
步骤404:接收到更新消息的车辆节点将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤403;
步骤405:接入节点AP3接收到更新消息后,选择一个请求表项,该请求表项的名称集合域值、数据坐标域值和序列号分别等于该更新消息中的名称集合域值、数据坐标域值和序列号;将该请求表项的源坐标更新为该更新消息中的源坐标;
步骤406:结束。

5.根据权利要求1所述的一种基于车载云的网络数据通信方法,其特征在于,T1时刻,车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),车辆节点V6发送了请求消息;T2时刻,车辆节点V6位于域D4中,域D4中的接入节点为接入节点AP4,接入节点AP4的坐标为(x4,y4),如果车辆节点V6在时刻T2时刻之前没有接收到响应消息,则执行下述切换操作:
步骤501:开始;
步骤502:车辆节点V6构建切换消息,该切换消息的名称集合和数据坐标分别等于发送的请求消息中名称集合和数据坐标,源坐标为车辆节点V6当前的坐标,目的坐标为(x4,y4),负载为发送的请求消息中的序列号和接入节点AP3的坐标(x3,y3),将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4;
步骤503:判断是否接入节点AP4接收到该切换消息,如果是则执行步骤505,否则执行步骤504;
步骤504:接收到切换消息的车辆节点将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4,执行步骤503;
步骤505:接入节点AP4接收到切换消息后,创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标和序列号分别等于该切换消息中的名称集合域值、数据坐标域值、源坐标和序列号;接入节点AP4将接收到的切换消息中的源坐标更新为自己的坐标,目的坐标更新为该切换消息负载中的坐标,将该切换消息转发到距离目的坐标最近的接入节点;
步骤506:判断是否接入节点AP3接收到该切换消息,如果是则执行步骤508,否则执行步骤507;
步骤507:接收到切换消息的接入节点将该切换消息转发到距离目的坐标最近的邻居接入节点,执行步骤506;
步骤508:接入节点AP3接收到切换消息后,选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号;如果该切换消息的数据坐标位于域D4内,或者存在一个请求表项,该请求表项的名称集合域和数据坐标域分别等于切换消息的名称集合和数据坐标且源坐标域等于该切换消息的源坐标,则执行步骤509,否则执行步骤510;
步骤509:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,删除该请求表项;执行步骤511;
步骤510:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,将该请求表项的源坐标更新为该切换消息中的源坐标;
步骤511:结束。
说明书

技术领域

[0001] 本发明涉及一种通信方法,尤其涉及的是一种基于车载云的网络数据通信方法。

背景技术

[0002] 车载云是建立在车载网之上且能提供本地服务的一种服务模式。近年来,很多研究工作致力于车载云,以便使车辆驾驶人能够快速获取网络服务。随着车载网技术的发展,车载云会成为未来提供服务的一种模式。
[0003] 目前,车载云的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低车载云提供服务的延迟和代价成为近年来研究的热点问题。
[0004] 本发明通过单播取代广播的方式来实现车载云,从而降低车载云提供服务的延迟和代价,从而有效提高网络服务性能。

发明内容

[0005] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于车载云的网络数据通信方法。
[0006] 技术方案:本发明公开了一种基于车载云的网络数据通信方法,所述网络包括接入节点和车辆节点,每个接入节点的地理坐标具有唯一性;一个接入节点和两个以上的车辆节点构成一个域,所述车辆节点在所有的接入节点中距离自己所在域的接入节点距离最近;
[0007] 车辆节点通过消息实现通信,一个消息包括名称集合域、数据坐标域、源坐标域、目的坐标域和负载;
[0008] 一种数据由一个名称唯一标识;对于每种数据,接入节点维护一个数据表,该数据表的表名等于标识该种数据的名称;一个数据表项包含坐标域、数据域和生命周期域,其中,生命周期域值为预先设置的值,例如500ms;
[0009] 如果接入节点AP1位于域D1中,接入节点AP1通过下述过程构建车载云:
[0010] 步骤101:开始;
[0011] 步骤102:接入节点AP1发送一个创建消息,该创建消息的名称集合域值为创建的数据的名称集合,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为空;
[0012] 步骤103:车辆节点收到该创建消息后,判断该车辆节点是否位于域D1中,是则执行步骤104,否则执行步骤107;
[0013] 步骤104:判断位于域D1中的车辆节点是否能提供接收到的创建消息名称集合中名称所标识的一种或者两种以上的数据,如果能,则执行步骤105,否则执行步骤106;
[0014] 步骤105:接收到创建消息的车辆节点针对每个能提供的数据创建一个二元组<名称,数据>,其中名称为标识所提供数据的名称,数据为自己所能提供的数据,车辆节点发送一个云数据消息,该云数据消息的名称集合域值为所提供的数据的名称的集合,数据坐标为该车辆节点的坐标,源坐标为该车辆节点的坐标,目的坐标为接收到的创建消息的源坐标,负载为构建的二元组;
[0015] 步骤106:接收到创建消息的车辆节点将创建消息转发给邻居车辆节点,执行步骤103;
[0016] 步骤107:判断是否接入节点AP1接收到云数据消息,如果是则执行步骤 109,否则执行步骤108;
[0017] 步骤108:车辆节点接收到云数据消息后,将该云数据消息转发到距离该云数据消息中的目的坐标最近的车辆节点或者接入节点AP1,执行步骤107;如果存在两个以上距离最近的车辆节点或者接入节点AP1,则将该云数据消息转发到接入节点AP1;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该云数据消息转发到该车辆节点;
[0018] 步骤109:接入节点AP1接收到云数据消息后,对于云数据消息负载中的每个二元组执行下述操作:接入节点AP1查看自己的数据表,如果任何一个数据表的表名都不等于该二元组的名称,接入节点AP1则创建一个数据表,该数据表的表名等于该二元组的名称,否则接入节点AP1不创建任何数据表;然后,接入节点AP1在该数据表中创建一个数据表项,该数据表项的坐标域值等于该云数据消息的数据坐标,数据域值等于该二元组中的数据值,生命周期为预定值;
[0019] 步骤110:接入节点AP1发送一个分享消息,该分享消息的名称集合域值为空,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为保存的数据表;接入节点AP1将自己标记为一个云成员;
[0020] 步骤111:判断接收到分享消息的车辆节点是否位于域D1中,如果是则执行步骤112,否则执行步骤113;
[0021] 步骤112:接收到分享消息的车辆节点保存分享消息负载中的所有数据表,将自己标记为云成员;
[0022] 步骤113:结束。
[0023] 多个车辆节点通过上述过程能够合作共同构建车载云,车载云成员能够分享数据,这样,车辆节点能够从距离最近的车载云成员获取快速获取数据,从而降低了数据通信延迟和代价。
[0024] 本发明所述方法中,在车辆节点V5位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1),车辆节点V5准备获取坐标为 (x2,y2)且名称集合为NS1中所有名称所标识的数据的条件下,如果坐标(x2, y2)位于域D1中,车辆节点V5则执行下述过程获取数据:
[0025] 步骤201:开始;
[0026] 步骤202:车辆节点V5构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V5当前的坐标,目的坐标为(x1,y1),将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1;如果存在两个以上距离最近的车辆节点或者接入节点AP1,则将该请求消息转发到接入节点AP1;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该请求消息转发到该车辆节点;
[0027] 步骤203:判断是否接入节点AP1接收到该请求消息,如果是则执行步骤 207,否则执行步骤204;
[0028] 步骤204:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤205,否则执行步骤206;
[0029] 步骤205:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤208;
[0030] 步骤206:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1,执行步骤203;如果存在两个以上距离最近的车辆节点或者接入节点AP1,则将该请求消息转发到接入节点AP1;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该请求消息转发到该车辆节点;
[0031] 步骤207:接收到请求消息的接入节点AP1针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;接入节点AP1发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所提供的数据表项;
[0032] 步骤208:判断是否车辆节点V5接收到响应消息,如果是则执行步骤210,否则执行步骤209;
[0033] 步骤209:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤208;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该响应消息转发到该车辆节点;
[0034] 步骤210:车辆节点V5接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V5没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,否则车辆节点V5则不创建任何数据表;然后,车辆节点V5将该二元组中的数据表项加入到名表为该二元组中的名称的数据表中;
[0035] 步骤211:结束。
[0036] 由于车载云成员遍布整个域并且能够分享数据和提供数据,这样,车辆节点能够从域内距离最近的车载云成员以单播方式获取快速获取数据,从而降低了数据通信延迟和代价。
[0037] 本发明所述方法中,每个接入节点维护一个请求表,一个请求表项包含名称集合域、数据坐标域、源坐标域以及序列号域;
[0038] 在车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),如果坐标(x2,y2)位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1)的条件下,车辆节点V6准备获取坐标为(x2,y2)且名称集合为NS1中所有名称所标识的数据,则执行下述过程获取数据:
[0039] 步骤301:开始;
[0040] 步骤302:车辆节点V6构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为序列号,该序列号为随机数,将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;如果存在两个以上距离最近的车辆节点或者接入节点AP3,则将该请求消息转发到接入节点AP3;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该请求消息转发到该车辆节点;
[0041] 步骤303:判断是否接入节点AP3接收到该请求消息,如果是则执行步骤 307,否则执行步骤304;
[0042] 步骤304:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤305,否则执行步骤306;
[0043] 步骤305:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤316;
[0044] 步骤306:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤303;如果存在两个以上距离最近的车辆节点或者接入节点AP3,则将该请求消息转发到接入节点AP3;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该请求消息转发到该车辆节点;
[0045] 步骤307:接入节点AP3接收到请求消息后,在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤308,否则执行步骤313;
[0046] 步骤308:接入节点AP3将接收到的请求消息中的源坐标更新为接入节点 AP3的坐标,将目的坐标更新为距离数据坐标最近的接入节点AP1的坐标,该请求消息转发到距离目的坐标最近的接入节点;如果存在两个以上距离最近的接入节点,则随机选取一个接入节点,将该请求消息转发到该接入节点;
[0047] 步骤309:判断是否接入节点AP1接收到请求消息,如果是则执行步骤312,否则执行步骤310;
[0048] 步骤310:接收到请求消息的接入节点在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤311,否则执行步骤313;
[0049] 步骤311:接收到请求消息的接入节点将该请求消息转发到距离目的坐标最近的接入节点,执行步骤309;如果存在两个以上距离最近的接入节点,则随机选取一个接入节点,将该请求消息转发到该接入节点;
[0050] 步骤312:接入节点AP1接收到请求消息后,针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;接入节点AP1创建一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组;
[0051] 步骤313:创建或者接收到响应消息的接入节点选择所有名称集合域值和数据坐标域值等于该响应消息的名称集合域值和数据坐标域值的请求表项,对于每个请求表项执行下述操作:该接入节点将响应消息的目的坐标更新为该请求表项的源坐标,如果该响应消息的目的坐标位于该接入节点所在的域内,则执行步骤 315,否则执行步骤314;
[0052] 步骤314:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的接入节点,执行步骤313;如果存在两个以上距离最近的接入节点, 则随机选取一个接入节点,将该响应消息转发到该接入节点;
[0053] 步骤315:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的车辆节点;
[0054] 步骤316:判断是否车辆节点V6接收到响应消息,如果是则执行步骤318,否则执行步骤317;
[0055] 步骤317:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤316;如果存在两个以上距离最近的邻居车辆节点, 则随机选取一个邻居车辆节点,将该请求消息转发到该邻居车辆节点;
[0056] 步骤318:车辆节点V6接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V6没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,将该二元组中的数据表项加入到名表为该二元组中的名称的数据表中;
[0057] 步骤319:结束。
[0058] 由于车载云成员遍布多个域并且车载云成员能够分享数据和提供数据,这样,车辆节点能够从目的坐标所在域中距离最近的车载云成员以单播方式获取快速获取数据,从而降低了数据通信延迟和代价。
[0059] 本发明所述方法中,车辆节点V6发送请求消息后,如果其坐标发生变化,则执行下述更新操作:
[0060] 步骤401:开始;
[0061] 步骤402:车辆节点V6构建更新消息,该更新消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为发送的请求消息中的序列号,将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;如果存在两个以上距离最近的车辆节点或者接入节点AP3,则将该更新消息转发到接入节点AP3;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该更新消息转发到该车辆节点;
[0062] 步骤403:判断是否接入节点AP3接收到该更新消息,如果是则执行步骤 405,否则执行步骤404;
[0063] 步骤404:接收到更新消息的车辆节点将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤403;如果存在两个以上距离最近的车辆节点或者接入节点AP3,则将该更新消息转发到接入节点AP3;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该更新消息转发到该车辆节点;
[0064] 步骤405:接入节点AP3接收到更新消息后,选择一个请求表项,该请求表项的名称集合域值、数据坐标域值和序列号分别等于该更新消息中的名称集合域值、数据坐标域值和序列号;将该请求表项的源坐标更新为该更新消息中的源坐标;
[0065] 步骤406:结束。
[0066] 车辆节点通过上述过程能够快速更新自己的新坐标从而确保数据通信的正确性。
[0067] 本发明所述方法中,T1时刻,车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),车辆节点V6发送了请求消息;T2时刻,车辆节点V6位于域D4中,域D4中的接入节点为接入节点 AP4,接入节点AP4的坐标为(x4,y4),如果车辆节点V6在时刻T2时刻之前没有接收到响应消息,则执行下述切换操作:
[0068] 步骤501:开始;
[0069] 步骤502:车辆节点V6构建切换消息,该切换消息的名称集合和数据坐标分别等于发送的请求消息中名称集合和数据坐标,源坐标为车辆节点V6当前的坐标,目的坐标为(x4,y4),负载为发送的请求消息中的序列号和接入节点AP3 的坐标(x3,y3),将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4;如果存在两个以上距离最近的车辆节点或者接入节点AP4,则将该切换消息转发到接入节点AP4;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该切换消息转发到该车辆节点;
[0070] 步骤503:判断是否接入节点AP4接收到该切换消息,如果是则执行步骤 505,否则执行步骤504;
[0071] 步骤504:接收到切换消息的车辆节点将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4,执行步骤503;如果存在两个以上距离最近的车辆节点或者接入节点AP4,则将该切换消息转发到接入节点AP4;如果存在两个以上距离最近的车辆节点,则随机选取一个车辆节点,将该切换消息转发到该车辆节点;
[0072] 步骤505:接入节点AP4接收到切换消息后,创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标和序列号分别等于该切换消息中的名称集合域值、数据坐标域值、源坐标和序列号;接入节点AP4将接收到的切换消息中的源坐标更新为自己的坐标,目的坐标更新为该切换消息负载中的坐标,将该切换消息转发到距离目的坐标最近的接入节点;
[0073] 步骤506:判断是否接入节点AP3接收到该切换消息,如果是则执行步骤 508,否则执行步骤507;
[0074] 步骤507:接收到切换消息的接入节点将该切换消息转发到距离目的坐标最近的邻居接入节点,执行步骤506;
[0075] 步骤508:接入节点AP3接收到切换消息后,选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号;如果该切换消息的数据坐标位于域 D4内,或者存在一个请求表项,该请求表项的名称集合域和数据坐标域分别等于切换消息的名称集合和数据坐标且源坐标域等于该切换消息的源坐标,则执行步骤509,否则执行步骤510;
[0076] 步骤509:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,删除该请求表项;执行步骤511;
[0077] 步骤510:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,将该请求表项的源坐标更新为该切换消息中的源坐标;
[0078] 步骤511:结束。
[0079] 车辆节点通过上述过程能够快速实现移动切换从而避免了车辆节点在移动过程中引起的丢包率,确保了车辆节点在移动过程中仍能正确获取数据,从而确保了数据通信的正确性和连续性。
[0080] 有益效果:本发明提供了一种基于车载云的网络数据通信方法,车辆节点通过本发明所提供的车载云实现方法能够从距离最近的云成员以单播方式获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

[0081] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0082] 图1为本发明所述的构建车载云流程示意图。
[0083] 图2为本发明所述的获取数据流程示意图。
[0084] 图3为本发明所述的获取远程数据流程示意图。
[0085] 图4为本发明所述的更新流程示意图。
[0086] 图5为本发明所述的切换流程示意图。具体实施方式:
[0087] 本发明提供了一种基于车载云的网络数据通信方法,车辆节点通过本发明所提供的车载云实现方法能够从距离最近的云成员以单播方式获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
[0088] 图1为本发明所述的构建车载云流程示意图。所述网络包括接入节点和车辆节点,每个接入节点的地理坐标具有唯一性;一个接入节点和两个以上的车辆节点构成一个域,所述车辆节点在所有的接入节点中距离自己所在域的接入节点距离最近;
[0089] 车辆节点通过消息实现通信,一个消息包括名称集合域、数据坐标域、源坐标域、目的坐标域和负载;
[0090] 一种数据由一个名称唯一标识;对于每种数据,接入节点维护一个数据表,该数据表的表名等于标识该种数据的名称;一个数据表项包含坐标域、数据域和生命周期域,其中,生命周期域值为预先设置的值;
[0091] 如果接入节点AP1位于域D1中,接入节点AP1通过下述过程构建车载云:
[0092] 步骤101:开始;
[0093] 步骤102:接入节点AP1发送一个创建消息,该创建消息的名称集合域值为创建的数据的名称集合,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为空;
[0094] 步骤103:车辆节点收到该创建消息后,判断该车辆节点是否位于域D1中,是则执行步骤104,否则执行步骤107;
[0095] 步骤104:判断位于域D1中的车辆节点是否能提供接收到的创建消息名称集合中名称所标识的一种或者两种以上的数据,如果能,则执行步骤105,否则执行步骤106;
[0096] 步骤105:接收到创建消息的车辆节点针对每个能提供的数据创建一个二元组<名称,数据>,其中名称为标识所提供数据的名称,数据为自己所能提供的数据,车辆节点发送一个云数据消息,该云数据消息的名称集合域值为所提供的数据的名称的集合,数据坐标为该车辆节点的坐标,源坐标为该车辆节点的坐标,目的坐标为接收到的创建消息的源坐标,负载为构建的二元组;
[0097] 步骤106:接收到创建消息的车辆节点将创建消息转发给邻居车辆节点,执行步骤103;
[0098] 步骤107:判断是否接入节点AP1接收到云数据消息,如果是则执行步骤 109,否则执行步骤108;
[0099] 步骤108:车辆节点接收到云数据消息后,将该云数据消息转发到距离该云数据消息中的目的坐标最近的车辆节点或者接入节点AP1,执行步骤107;
[0100] 步骤109:接入节点AP1接收到云数据消息后,对于云数据消息负载中的每个二元组执行下述操作:接入节点AP1查看自己的数据表,如果任何一个数据表的表名都不等于该二元组的名称,接入节点AP1则创建一个数据表,该数据表的表名等于该二元组的名称,否则接入节点AP1不创建任何数据表;然后,接入节点AP1在该数据表中创建一个数据表项,该数据表项的坐标域值等于该云数据消息的数据坐标,数据域值等于该二元组中的数据值,生命周期为预定值;
[0101] 步骤110:接入节点AP1发送一个分享消息,该分享消息的名称集合域值为空,数据坐标为空,源坐标为接入节点AP1的坐标,目的坐标为空,负载为保存的数据表;接入节点AP1将自己标记为一个云成员;
[0102] 步骤111:判断接收到分享消息的车辆节点是否位于域D1中,如果是则执行步骤112,否则执行步骤113;
[0103] 步骤112:接收到分享消息的车辆节点保存分享消息负载中的所有数据表,将自己标记为云成员;
[0104] 步骤113:结束。
[0105] 图2为本发明所述的获取数据流程示意图。在车辆节点V5位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1),车辆节点V5准备获取坐标为(x2,y2)且名称集合为NS1中所有名称所标识的数据的条件下,如果坐标(x2,y2)位于域D1中,车辆节点V5则执行下述过程获取数据:
[0106] 步骤201:开始;
[0107] 步骤202:车辆节点V5构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V5当前的坐标,目的坐标为(x1,y1),将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1;
[0108] 步骤203:判断是否接入节点AP1接收到该请求消息,如果是则执行步骤 207,否则执行步骤204;
[0109] 步骤204:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤205,否则执行步骤206;
[0110] 步骤205:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤208;
[0111] 步骤206:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP1,执行步骤203;
[0112] 步骤207:接收到请求消息的接入节点AP1针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;接入节点AP1发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所提供的数据表项;
[0113] 步骤208:判断是否车辆节点V5接收到响应消息,如果是则执行步骤210,否则执行步骤209;
[0114] 步骤209:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤208;
[0115] 步骤210:车辆节点V5接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V5没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,否则车辆节点V5则不创建任何数据表;然后,车辆节点V5将该二元组中的数据表项加入到名表为该二元组中的名称的数据表中;
[0116] 步骤211:结束。
[0117] 图3为本发明所述的获取远程数据流程示意图。每个接入节点维护一个请求表,一个请求表项包含名称集合域、数据坐标域、源坐标域以及序列号域;
[0118] 在车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),如果坐标(x2,y2)位于域D1中,域D1中的接入节点为接入节点AP1,接入节点AP1的坐标为(x1,y1)的条件下,车辆节点V6准备获取坐标为(x2,y2)且名称集合为NS1中所有名称所标识的数据,则执行下述过程获取数据:
[0119] 步骤301:开始;
[0120] 步骤302:车辆节点V6构建请求消息,该请求消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为序列号,该序列号为随机数,将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;
[0121] 步骤303:判断是否接入节点AP3接收到该请求消息,如果是则执行步骤 307,否则执行步骤304;
[0122] 步骤304:判断接收到请求消息的车辆节点是否能提供坐标为(x2,y2)且请求消息名称集合中所有名称所标识的数据,如果是则执行步骤305,否则执行步骤306;
[0123] 步骤305:接收到请求消息的车辆节点针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于二元组中的名称的数据表中的一个数据表项,该数据表项的坐标域值等于该请求消息的数据坐标;该车辆节点发送一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为该车辆节点的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组,执行步骤316;
[0124] 步骤306:接收到请求消息的车辆节点将该请求消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤303;
[0125] 步骤307:接入节点AP3接收到请求消息后,在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤308,否则执行步骤313;
[0126] 步骤308:接入节点AP3将接收到的请求消息中的源坐标更新为接入节点 AP3的坐标,将目的坐标更新为距离数据坐标最近的接入节点AP1的坐标,该请求消息转发到距离目的坐标最近的接入节点;
[0127] 步骤309:判断是否接入节点AP1接收到请求消息,如果是则执行步骤312,否则执行步骤310;
[0128] 步骤310:接收到请求消息的接入节点在请求表中创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标域值和序列号分别等于该请求消息中的名称集合域值、数据坐标域值、源坐标域值和序列号;如果请求表中只存在一个请求表项,该请求表项的名称集合域值和数据坐标域值等于该请求消息中的名称集合域值和数据域值,则执行步骤311,否则执行步骤313;
[0129] 步骤311:接收到请求消息的接入节点将该请求消息转发到距离目的坐标最近的接入节点,执行步骤309;
[0130] 步骤312:接入节点AP1接收到请求消息后,针对请求消息名称集合中的每个名称创建一个二元组<名称,数据表项>,其中,二元组中的名称等于名称集合中的该名称,数据表项为表名等于名称集合中该名称的数据表中坐标域值为该请求消息的数据坐标的数据表项;接入节点AP1创建一个响应消息,响应消息中名称集合和数据坐标等于接收到的请求消息的名称集合和数据坐标,源坐标为接入节点AP1的坐标,目的坐标为该请求消息的源坐标,负载为所有创建的二元组;
[0131] 步骤313:创建或者接收到响应消息的接入节点选择所有名称集合域值和数据坐标域值等于该响应消息的名称集合域值和数据坐标域值的请求表项,对于每个请求表项执行下述操作:该接入节点将响应消息的目的坐标更新为该请求表项的源坐标,如果该响应消息的目的坐标位于该接入节点所在的域内,则执行步骤 315,否则执行步骤314;
[0132] 步骤314:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的接入节点,执行步骤313;
[0133] 步骤315:创建或者接收到响应消息的接入节点将该响应消息转发到距离目的坐标最近的车辆节点;
[0134] 步骤316:判断是否车辆节点V6接收到响应消息,如果是则执行步骤318,否则执行步骤317;
[0135] 步骤317:接收到响应消息的车辆节点将该响应消息转发到距离目的坐标最近的邻居车辆节点,执行步骤316;
[0136] 步骤318:车辆节点V6接收到响应消息后,针对响应消息负载中的每个二元组执行下述操作:如果车辆节点V6没有表名等于该二元组中的名称的数据表,则创建一个数据表,该数据表的表名为该二元组中的名称,将该二元组中的数据表项加入到名表为该二元组中的名称的数据表中;
[0137] 步骤319:结束。
[0138] 图4为本发明所述的更新流程示意图。车辆节点V6发送请求消息后,如果其坐标发生变化,则执行下述更新操作:
[0139] 步骤401:开始;
[0140] 步骤402:车辆节点V6构建更新消息,该更新消息的名称集合域值等于名称集合NS1,数据坐标为(x2,y2),源坐标为车辆节点V6当前的坐标,目的坐标为(x3,y3),负载为发送的请求消息中的序列号,将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3;
[0141] 步骤403:判断是否接入节点AP3接收到该更新消息,如果是则执行步骤 405,否则执行步骤404;
[0142] 步骤404:接收到更新消息的车辆节点将该更新消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP3,执行步骤403;
[0143] 步骤405:接入节点AP3接收到更新消息后,选择一个请求表项,该请求表项的名称集合域值、数据坐标域值和序列号分别等于该更新消息中的名称集合域值、数据坐标域值和序列号;将该请求表项的源坐标更新为该更新消息中的源坐标;
[0144] 步骤406:结束。
[0145] 图5为本发明所述的切换流程示意图。T1时刻,车辆节点V6位于域D3中,域D3中的接入节点为接入节点AP3,接入节点AP3的坐标为(x3,y3),车辆节点V6发送了请求消息;T2时刻,车辆节点V6位于域D4中,域D4中的接入节点为接入节点AP4,接入节点AP4的坐标为(x4,y4),如果车辆节点V6在时刻T2时刻之前没有接收到响应消息,则执行下述切换操作:
[0146] 步骤501:开始;
[0147] 步骤502:车辆节点V6构建切换消息,该切换消息的名称集合和数据坐标分别等于发送的请求消息中名称集合和数据坐标,源坐标为车辆节点V6当前的坐标,目的坐标为(x4,y4),负载为发送的请求消息中的序列号和接入节点AP3 的坐标(x3,y3),将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4;
[0148] 步骤503:判断是否接入节点AP4接收到该切换消息,如果是则执行步骤 505,否则执行步骤504;
[0149] 步骤504:接收到切换消息的车辆节点将该切换消息转发到距离目的坐标最近的邻居车辆节点或者接入节点AP4,执行步骤503;
[0150] 步骤505:接入节点AP4接收到切换消息后,创建一个请求表项,该请求表项的名称集合域值、数据坐标域值、源坐标和序列号分别等于该切换消息中的名称集合域值、数据坐标域值、源坐标和序列号;接入节点AP4将接收到的切换消息中的源坐标更新为自己的坐标,目的坐标更新为该切换消息负载中的坐标,将该切换消息转发到距离目的坐标最近的接入节点;
[0151] 步骤506:判断是否接入节点AP3接收到该切换消息,如果是则执行步骤 508,否则执行步骤507;
[0152] 步骤507:接收到切换消息的接入节点将该切换消息转发到距离目的坐标最近的邻居接入节点,执行步骤506;
[0153] 步骤508:接入节点AP3接收到切换消息后,选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号;如果该切换消息的数据坐标位于域 D4内,或者存在一个请求表项,该请求表项的名称集合域和数据坐标域分别等于切换消息的名称集合和数据坐标且源坐标域等于该切换消息的源坐标,则执行步骤509,否则执行步骤510;
[0154] 步骤509:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,删除该请求表项;执行步骤511;
[0155] 步骤510:接入节点AP3选择一个请求表项,该请求表项的序列号等于该切换消息负载中的序列号,将该请求表项的源坐标更新为该切换消息中的源坐标;
[0156] 步骤511:结束。
[0157] 实施例1
[0158] 基于表1的仿真参数,本实施例模拟了本发明中的一种基于车载云的网络数据通信方法,性能分析如下:当数据传输量增加的情况下,车辆节点获取服务数据的延迟随之增加;当数据传输量减少的情况下,车辆节点获取服务数据的延迟随之降低。车辆节点获取服务数据的平均延迟为1.2s。
[0159] 表1仿真参数
[0160]
[0161]
[0162] 本发明提供了一种基于车载云的网络数据通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号