CN107395758B - 一种基于地理位置的智能车载网数据通信实现方法 - Google Patents

一种基于地理位置的智能车载网数据通信实现方法 Download PDF

Info

Publication number
CN107395758B
CN107395758B CN201710750461.4A CN201710750461A CN107395758B CN 107395758 B CN107395758 B CN 107395758B CN 201710750461 A CN201710750461 A CN 201710750461A CN 107395758 B CN107395758 B CN 107395758B
Authority
CN
China
Prior art keywords
data
name
message
vehicle node
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710750461.4A
Other languages
English (en)
Other versions
CN107395758A (zh
Inventor
王晓喃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changshu Institute of Technology
Original Assignee
Changshu Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changshu Institute of Technology filed Critical Changshu Institute of Technology
Priority to CN201710750461.4A priority Critical patent/CN107395758B/zh
Publication of CN107395758A publication Critical patent/CN107395758A/zh
Application granted granted Critical
Publication of CN107395758B publication Critical patent/CN107395758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明提供了一种基于地理位置的智能车载网数据通信实现方法,所述车载网包括接入节点和车辆节点,车辆节点或者接入节点均为设备;接入节点的地理坐标具有唯一性;一个接入节点与车辆节点构成一个子网,一个子网中的车辆节点在所有的接入节点中与同一个子网中的接入节点距离最近,一个接入节点唯一标识一个子网。通过本发明所提供的智能车载网的实现方法,多个车辆节点能够通过一次数据传输过程获取所需数据,缩短了获取数据的延迟,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

Description

一种基于地理位置的智能车载网数据通信实现方法
技术领域
本发明涉及一种通信实现方法,尤其涉及的是一种基于地理位置的智能车载网数据通信实现方法。
背景技术
近年来,很多研究工作致力于智能车载网,以便使车辆驾驶人能够快速获取数据保证行使安全。随着车载网技术的发展,智能车载网会成为未来提供服务的一种模式。
目前,智能车载网中的每个车辆节点独立实现通信,因此延迟比较大,降低了数据通信性能。因此,如何降低智能车载网的数据通信延迟成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于地理位置的智能车载网数据通信实现方法。本发明通过聚合方式来实现车载网,多个车辆节点能够通过一次数据请求过程获取数据,从而降低了车载网数据通信的延迟,有效提高了数据通信服务性能。
技术方案:本发明公开了一种基于地理位置的智能车载网数据通信实现方法,所述车载网包括接入节点和车辆节点,车辆节点或者接入节点均为设备;接入节点的地理坐标具有唯一性;一个接入节点与车辆节点构成一个子网,一个子网中的车辆节点在所有的接入节点中与同一个子网中的接入节点距离最近,一个接入节点唯一标识一个子网,车辆节点启动后,获取所在车载网的接入节点的地理坐标,并加入距离自己最近的接入节点所在的子网;位于两个不同子网的车辆节点通过所在子网的接入节点进行通信;
一种与地理位置相关的数据由数据类型和数据坐标唯一标识,数据类型定义了数据的种类,例如交通事故,数据坐标定义该数据发生的位置;接入节点具有无线接口和有线接口,接入节点通过无线接口与车辆节点实现通信,通过有线接口与邻居接入节点实现通信;接入节点保存所有邻居接入节点的地理坐标;
一个消息包含名字域和负载域,名字域包含源地理坐标域、目的地理坐标域、命令域、跳数域、数据类型域和数据坐标域;源地理坐标域为发送消息的设备的地理坐标;目的地理坐标域为目标设备的地理坐标,命令域值表1所示;跳数域值定义消息的传输范围,跳数域值只有在目的地理坐标域值为0或者命令域值为5的情况下有效,跳数域值的初始值预先设置;数据类型和数据坐标定义了目标数据;如果目的地理坐标为(0,0),则跳数域定义的传输范围内的所有设备均为目标设备;
表1:
命令类型 命令值
构建数据 1
共享数据 2
注册数据 3
请求数据 4
响应数据 5
确认数据 6
一种与地理位置相关的数据通过创建云来构建,每个云成员保存一个云表,云表项包含数据类型域、数据坐标域、数据值域和生命周期域;如果一个云表项的生命周期衰减为0,则该云表项从云表中删除;
在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,如果车辆节点V1的地理坐标为(x1,y1),则通过构建云VC1来创建数据C1,云VC1由数据类型CY1和数据坐标(x1,y1)唯一标识:
步骤101:开始;
步骤102:车辆节点V1构建名字N1,在名字N1中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY1,数据坐标为(x1,y1);车辆节点V1发送一个消息,该消息的名字为N1,负载为空;
步骤103:一个车辆节点接收到名字为N1且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C1的部分数据,则构建名字N2,在名字N2中,源地理坐标为(0,0),目的地理坐标为名字N1中的源地理坐标,命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N1中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N2,负载为构建的数据C1的部分数据;该车辆节点将名字N1中的跳数域值递减1,如果跳数域值为0,则执行步骤104,否则执行步骤103;
步骤104:如果车辆节点V1接收到名字为N2且负载不为空的消息,则执行步骤109;否则执行步骤105;
步骤105:接收到名字为N2且负载不为空的消息的车辆节点将名字N2中的跳数域值递减1,如果跳数域值为0,则执行步骤109,否则执行步骤106;
步骤106:如果接收到名字为N2且负载不为空的消息的车辆节点从车辆节点E1接收到该消息且车辆节点与名字N2的目的地理坐标的距离小于车辆节点E1与名字N2的目的地理坐标的距离,则执行步骤107,否则执行步骤108;
步骤107:接收到名字为N2且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤104;
步骤108:接收到名字为N2且负载不为空的消息的车辆节点丢弃该消息,执行步骤104;
步骤109:在预定时间内(例如1s),车辆节点V1接收到名字为N2且负载不为空的消息后利用消息负载中的数据构建数据C1,然后构建名字N3,在名字N3中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N3,负载为数据C1;
步骤110:接收到名字为N3消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N2的消息,则保存该消息的负载数据C1并将自己标记为云VC1成员;车辆节点将名字N3中的跳数域值递减1,如果跳数域值为0,则执行步骤112,否则执行步骤111;
步骤111:接收到名字为N3消息的车辆节点将该消息转发到邻居车辆节点,执行步骤110;
步骤112:车辆节点V1构建名字N4,在名字N4中,源地理坐标为(x1,y1),目的地理坐标为(x2,y2),命令域值为3,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N4,负载为数据C1;
步骤113:如果接入节点AP1接收到名字为N4的消息,则执行步骤117,否则执行步骤114;
步骤114:接收到名字为N4的消息的车辆节点从车辆节点E2接收到该消息,如果该车辆节点与名字N4的目的地理坐标的距离小于车辆节点E2与名字N4的目的地理坐标的距离,则执行步骤115,否则执行步骤116;
步骤115:接收到名字为N4的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤113;
步骤116:接收到名字为N4的消息的车辆节点丢弃该消息,执行步骤113;
步骤117:接入节点AP1接收到名字为N4的消息后,在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N4的数据类型和数据坐标,数据值为该消息中的负载数据C1,生命周期值为最大值,例如20mins,并将自己标记为云VC1的成员;
步骤118:结束。
上述过程能够快速构建数据从而提供给用户。
本发明所述方法中,在数据C2由数据类型CY2和数据坐标(x2,y2)唯一定义,数据坐标(x2,y2)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,接入节点AP1通过下述过程构建云VC2来创建数据C2,云VC2由数据类型CY2和数据坐标(x2,y2)唯一标识:
步骤201:开始;
步骤202:接入节点AP1构建名字N5,在名字N5中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY2,数据坐标为(x2,y2);接入节点AP1发送一个消息,该消息的名字为N5,负载为空;
步骤203:一个车辆节点接收到名字为N5且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C2的部分数据,则构建名字N6,在名字N6中,源地理坐标为(0,0),目的地理坐标为名字N5中的源地理坐标,命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N5中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N6,负载为构建的数据C1的部分数据;该车辆节点将名字N5中的跳数域值递减1,如果跳数域值为0,则执行步骤204,否则执行步骤203;
步骤204:如果接入节点AP1接收到名字为N6且负载不为空的消息,则执行步骤209;否则执行步骤205;
步骤205:接收到名字为N6且负载不为空的消息的车辆节点将名字N6中的跳数域值递减1,如果跳数域值为0,则执行步骤209,否则执行步骤206;
步骤206:如果接收到名字为N6且负载不为空的消息的车辆节点从车辆节点E3接收到该消息且车辆节点与名字N6的目的地理坐标的距离小于车辆节点E3与名字N6的目的地理坐标的距离,则执行步骤207,否则执行步骤208;
步骤207:接收到名字为N6且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤204;
步骤208:接收到名字为N6且负载不为空的消息的车辆节点丢弃该消息,执行步骤204;
步骤209:在预定时间内(例如1s),接入节点AP1接收到名字为N6且负载不为空的消息后利用消息负载中的数据构建数据C2,然后构建名字N7,在名字N7中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY2,数据坐标为(x2,y2);车辆节点发送一个消息,该消息的名字为N7,负载为数据C2;接入节点AP1在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N6的数据类型和数据坐标,数据值为数据C2,生命周期值为最大值,例如20mins,并将自己标记为云VC2的成员;
步骤210:接收到名字为N7消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N6的消息,则保存该消息的负载数据C2并将自己标记为云VC2成员;车辆节点将名字N7中的跳数域值递减1,如果跳数域值为0,则执行步骤212,否则执行步骤211;
步骤211:接收到名字为N7消息的车辆节点将该消息转发到邻居车辆节点,执行步骤210;
步骤212:结束。
上述过程能够快速构建数据从而提供给用户。
本发明所述方法中,在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2),云VC1的成员能够提供数据C1的条件下,如果车辆节点V3位于子网S1内,地理坐标为(x3,y3),那么它通过下述过程获取数据C1:
步骤301:开始;
步骤302:车辆节点V3构建名字N8,在名字N8中,源地理坐标为(x3,y3),目的地理坐标为(x2,y2),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N8,负载为空;
步骤303:如果接入节点AP1接收到名字为N8的消息,则执行步骤304,否则执行步骤307;
步骤304:接入节点AP1查看云表,如果存在数据类型为CY1且数据坐标为(x1,y1)的云表项,则执行步骤305,否则执行步骤306;
步骤305:接入节点AP1构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N9,负载为数据类型为CY1且数据坐标为(x1,y1)的云表项的数据域值,执行步骤314;
步骤306:接入节点AP1构建名字N10,在名字N10中,源地理坐标为名字N8的源地理坐标,目的地理坐标为名字N8的数据坐标,命令域值为4,跳数域值为0,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N10,负载为空;
步骤307:车辆节点接收到名字为N8或者N10的消息后,判断自己是否能够提供名字N8或者N10的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤308,否则执行步骤309;
步骤308:接收到名字为N8或者N10的消息的车辆节点构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤309:如果接收到名字为N8或者N10的消息的车辆节点的地理坐标为名字N8或者N10的数据坐标,即地理坐标(x1,y1),则执行步骤310,否则执行步骤311;
步骤310:位于地理坐标(x1,y1)的车辆节点如果没有保存数据C1,则执行步骤101~步骤118创建数据C1,然后构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤311:如果接收到名字为N8或者N10的消息的车辆节点从车辆节点E4接收到该消息,且该车辆节点与名字N8或者N10的目的地理坐标的距离小于车辆节点E4与名字N8或者N10的目的地理坐标的距离,则执行步骤312,否则执行步骤313;
步骤312:接收到名字为N8或者N10的消息的车辆节点转发该消息,执行步骤303;
步骤313:接收到名字为N8或者N10的消息的车辆节点丢弃该消息,执行步骤303;
步骤314:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤315;
步骤315:如果接收到名字为N9的消息的车辆节点从车辆节点E5接收到该消息,且该车辆节点与名字N9的目的地理坐标的距离小于车辆节点E5与名字N9的目的地理坐标的距离,则执行步骤316,否则执行步骤317;
步骤316:接收到名字为N9的消息的车辆节点丢弃该消息,执行步骤314;
步骤317:接收到名字为N9的消息的车辆节点转发该消息,如果该车辆节点在名字N9的目的地理坐标的一跳范围内,则执行步骤319,否则执行步骤314;
步骤318:车辆节点V3接收到名字为N9的消息后保存消息负载中的数据C1,将自己标记为云VC1的成员,车辆节点V3构建名字N11,在名字N11中,源地理坐标为(x3,y3),目的地理坐标为(0,0),命令域值为6,跳数域值为1,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N11,负载为空,执行步骤323;
步骤319:接收到名字N9的消息的车辆节点如果在预定时间内(例如50ms)接收到名字为N11的消息,则执行步骤323,否则执行步骤320;
步骤320:接收到名字N9的消息的车辆节点将名字N9的跳数域值递减1,如果跳数域值为0,则执行步骤323,否则执行步骤321;
步骤321:接收到名字N9的消息车辆节点转发该消息;
步骤322:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤319;
步骤323:结束。
车辆节点通过上述过程能够快速获取所需数据。
本发明所述方法中,在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,接入节点AP1通过下述过程获取数据C1:
步骤401:开始;
步骤402:接入节点AP1构建名字P1,在名字P1中,源地理坐标为(x2,y2),目的地理坐标为(x1,y1),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);接入节点AP1从无线接口发送一个消息,该消息的名字为P1,负载为空;车辆节点接收到名字为P1的消息后,判断自己是否能够提供名字P1的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤403,否则执行步骤404;
步骤403:接收到名字为P1的消息的车辆节点构建名字P2,在名字P2中,源地理坐标为(0,0),目的地理坐标为名字P1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字P1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为P2,负载为数据C1,执行步骤409;
步骤404:如果接收到名字为P1的消息的车辆节点的地理坐标与名字P1的数据坐标即地理坐标(x1,y1)相同,则执行步骤405,否则执行步骤406;
步骤405:位于地理坐标(x1,y1)的车辆节点如果没有保存数据C1,则执行步骤101~步骤118创建数据C1,然后构建名字P2,在名字P2中,源地理坐标为(0,0),目的地理坐标为名字P1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字P1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为P2,负载为数据C1,执行步骤409;
步骤406:如果接收到名字为P1的消息的车辆节点从车辆节点X1接收到该消息且该车辆节点与名字P1的目的地理坐标的距离小于车辆节点X1与名字P1的目的地理坐标的距离,则执行步骤407,否则执行步骤408;
步骤407:接收到名字为P1的消息的车辆节点转发该消息,执行步骤403;
步骤408:接收到名字为P1的消息的车辆节点丢弃该消息,执行步骤403;
步骤409:如果接入节点AP1接收到名字为P2的消息,则执行步骤413,否则执行步骤410;
步骤410:如果接收到名字为P2的消息的车辆节点从车辆节点X2接收到该消息,且该车辆节点与名字P2的目的地理坐标的距离小于车辆节点X2与名字P2的目的地理坐标的距离,则执行步骤411,否则执行步骤412;
步骤411:接收到名字为P2的消息的车辆节点丢弃该消息,执行步骤409;
步骤412:接收到名字为P2的消息的车辆节点转发该消息,执行步骤409;
步骤413:接入节点AP1接收到名字为P2的消息后,创建一个云表项,该云表项的数据类型和数据坐标等于名字P2的数据类型和数据坐标,数据域值为数据C1,将自己标记为云VC1的成员;
步骤414:结束。
接入节点通过上述过程能够快速获取所需数据。
本发明所述方法中,每个接入节点保存一个聚合表,每个聚合表项包含数据类型域,数据坐标域和名字域;
在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2),云VC1的成员能够提供数据C1的条件下,如果车辆节点V4位于子网S5内,车辆节点V4的地理坐标为(x4,y4),子网S5的接入节点为AP5,地理坐标为(x5,y5),那么它通过下述过程获取数据C1:
步骤501:开始;
步骤502:车辆节点V4构建名字A1,在名字A1中,源地理坐标为(x4,y4),目的地理坐标为(x5,y5),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点V4发送一个消息,该消息的名字为A1,负载为空;
步骤503:如果接入节点接收到名字为A1的消息,则执行步骤509,否则执行步骤504;
步骤504:车辆节点接收到名字为A1的消息后,判断自己是否能够提供名字A1的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤505,否则执行步骤506;
步骤505:接收到名字为A1的消息的车辆节点构建名字A2,在名字A2中,源地理坐标为(0,0),目的地理坐标为名字A1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字A1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为A2,负载为数据C1,执行步骤513;
步骤506:如果接收到名字为A1的消息的车辆节点从车辆节点H1接收到该消息,且该车辆节点与名字A1的目的地理坐标的距离小于车辆节点H1与A1的目的地理坐标的距离,则执行步骤507,否则执行步骤508;
步骤507:接收到名字为A1的消息的车辆节点转发该消息,执行步骤503;
步骤508:接收到名字为A1的消息的车辆节点丢弃该消息,执行步骤503;
步骤509:如果接入节点的聚合表中不存在数据类型为CY1,数据坐标为(x1,y1)且名字域值为A1的聚合表项,接入节点则创建一个聚合表项,该聚合表项的数据类型为CY1,数据坐标为(x1,y1),名字域值为A1;如果接入节点只有一项数据名称为CY1且数据坐标为(x1,y1)的聚合表项,则执行步骤510,否则执行步骤513;
步骤510:判断接收到名字为A1的消息的接入节点是否为接入节点AP1,如果是,则执行步骤512,否则执行步骤511;
步骤511:接收到名字为A1的消息的接入节点计算所有邻居接入节点与名字A1的目的地理坐标的距离,选择距离最近的邻居接入节点,并从与该邻居接入节点相连的有线接口转发该消息,执行步骤503;
步骤512:接收到名字为A1的消息的接入节点AP1查看云表,如果不存在数据名称和数据坐标分别等于名字A1的数据名称和数据坐标的云表项,则执行步骤401~414获取数据C1,然后构建名字A2,在名字A2中,源地理坐标为(0,0),目的地理坐标为名字A1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字A1的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为A2,负载为数据C1;
步骤513:如果接入节点接收到名字为A2的消息,则执行步骤514,否则执行步骤517;
步骤514:接收到名字为A2的消息的接入节点查看聚合表,选择所有数据类型和数据坐标等于名字A2的数据类型和数据坐标的聚合表项,对于每个选中的聚合表项进行如下操作:接入节点构建一个名字,该名字中,源地理坐标为(0,0),目的地理坐标为该聚合表项的名字的源地理坐标,命令值为5,跳数域值为初始值,数据类型和数据坐标为该聚合表项的名字的数据类型和数据坐标,接入节点从无线接口发送一个消息,该消息的名字为构建的名字,负载为接收到的名字为A2的消息负载;
步骤515:判断接收到名字为A2的消息的接入节点是否为接入节点AP5,如果是,则执行步骤517,否则执行步骤516;
步骤516:接收到名字为A2的消息的接入节点计算所有邻居接入节点与名字A2的目的地理坐标的距离,选择距离最近的邻居接入节点,并从与该邻居接入节点相连的有线接口转发该消息,执行步骤513;
步骤517:如果接收到名字为A2的消息的车辆节点为车辆节点V4,则执行步骤521,否则执行步骤518;
步骤518:如果接收到名字为A2的消息的车辆节点从车辆节点H2接收到该消息,且该车辆节点与名字A2的目的地理坐标的距离小于车辆节点H2与A2的目的地理坐标的距离,则执行步骤520,否则执行步骤519;
步骤519:接收到名字为A2的消息的车辆节点丢弃该消息,执行步骤517;
步骤520:接收到名字为A2的消息的车辆节点转发该消息,如果该车辆节点在名字A2的目的地理坐标的一跳范围内,则执行步骤522,否则执行步骤517;
步骤521:车辆节点V4接收到名字为A2的消息后保存消息负载中的数据C1,车辆节点V3构建名字A3,在名字A3中,源地理坐标为(x4,y4),目的地理坐标为(0,0),命令域值为6,跳数域值为1,数据类型为CY1,数据坐标为(x1,y1);车辆节点V4发送一个消息,该消息的名字为A3,负载为空,执行步骤526;
步骤522:接收到名字A2的消息的车辆节点如果在预定时间内(例如50ms)接收到名字为A3的消息,则执行步骤526,否则执行步骤523;
步骤523:接收到名字A2的消息的车辆节点将名字A2的跳数域值递减1,如果跳数域值为0,则执行步骤526,否则执行步骤524;
步骤524:接收到名字A2的消息车辆节点转发该消息;
步骤525:如果车辆节点V4接收到名字为A2的消息,则执行步骤521,否则执行步骤522;
步骤526:结束。
多个车辆节点通过上述过程能够快速获取所需数据从而降低了数据获取的延迟。
有益效果:本发明提供了一种基于地理位置的智能车载网数据通信实现方法,通过本发明所提供的智能车载网的实现方法,多个车辆节点能够通过一次数据传输过程获取所需数据,缩短了获取数据的延迟,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的车辆节点构建云流程示意图。
图2为本发明所述的接入节点构建云流程示意图。
图3为本发明所述的车辆节点本地获取数据流程示意图。
图4为本发明所述的接入节点本地获取数据流程示意图。
图5为本发明所述的车辆节点远程获取数据流程示意图。
具体实施方式:
本发明提供了一种基于地理位置的智能车载网数据通信实现方法,通过本发明所提供的智能车载网的实现方法,多个车辆节点能够通过一次数据传输过程获取所需数据,缩短了获取数据的延迟,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的车辆节点构建云流程示意图。所述车载网包括接入节点和车辆节点,车辆节点或者接入节点均为设备;接入节点的地理坐标具有唯一性;一个接入节点与车辆节点构成一个子网,一个子网中的车辆节点在所有的接入节点中与同一个子网中的接入节点距离最近,一个接入节点唯一标识一个子网,车辆节点启动后,获取所在车载网的接入节点的地理坐标,并加入距离自己最近的接入节点所在的子网;位于两个不同子网的车辆节点通过所在子网的接入节点进行通信;
一种与地理位置相关的数据由数据类型和数据坐标唯一标识,数据类型定义了数据的种类,数据坐标定义该数据发生的位置;接入节点具有无线接口和有线接口,接入节点通过无线接口与车辆节点实现通信,通过有线接口与邻居接入节点实现通信;接入节点保存所有邻居接入节点的地理坐标;
一个消息包含名字域和负载域,名字域包含源地理坐标域、目的地理坐标域、命令域、跳数域、数据类型域和数据坐标域;源地理坐标域为发送消息的设备的地理坐标;目的地理坐标域为目标设备的地理坐标,命令域值表1所示;跳数域值定义消息的传输范围,跳数域值只有在目的地理坐标域值为0或者命令域值为5的情况下有效,跳数域值的初始值预先设置;数据类型和数据坐标定义了目标数据;如果目的地理坐标为(0,0),则跳数域定义的传输范围内的所有设备均为目标设备;
表1:
命令类型 命令值
构建数据 1
共享数据 2
注册数据 3
请求数据 4
响应数据 5
确认数据 6
一种与地理位置相关的数据通过创建云来构建,每个云成员保存一个云表,云表项包含数据类型域、数据坐标域、数据值域和生命周期域;如果一个云表项的生命周期衰减为0,则该云表项从云表中删除;
在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,如果车辆节点V1的地理坐标为(x1,y1),则通过构建云VC1来创建数据C1,云VC1由数据类型CY1和数据坐标(x1,y1)唯一标识:
步骤101:开始;
步骤102:车辆节点V1构建名字N1,在名字N1中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY1,数据坐标为(x1,y1);车辆节点V1发送一个消息,该消息的名字为N1,负载为空;
步骤103:一个车辆节点接收到名字为N1且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C1的部分数据,则构建名字N2,在名字N2中,源地理坐标为(0,0),目的地理坐标为名字N1中的源地理坐标,命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N1中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N2,负载为构建的数据C1的部分数据;该车辆节点将名字N1中的跳数域值递减1,如果跳数域值为0,则执行步骤104,否则执行步骤103;
步骤104:如果车辆节点V1接收到名字为N2且负载不为空的消息,则执行步骤109;否则执行步骤105;
步骤105:接收到名字为N2且负载不为空的消息的车辆节点将名字N2中的跳数域值递减1,如果跳数域值为0,则执行步骤109,否则执行步骤106;
步骤106:如果接收到名字为N2且负载不为空的消息的车辆节点从车辆节点E1接收到该消息且车辆节点与名字N2的目的地理坐标的距离小于车辆节点E1与名字N2的目的地理坐标的距离,则执行步骤107,否则执行步骤108;
步骤107:接收到名字为N2且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤104;
步骤108:接收到名字为N2且负载不为空的消息的车辆节点丢弃该消息,执行步骤104;
步骤109:在预定时间内,车辆节点V1接收到名字为N2且负载不为空的消息后利用消息负载中的数据构建数据C1,然后构建名字N3,在名字N3中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N3,负载为数据C1;
步骤110:接收到名字为N3消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N2的消息,则保存该消息的负载数据C1并将自己标记为云VC1成员;车辆节点将名字N3中的跳数域值递减1,如果跳数域值为0,则执行步骤112,否则执行步骤111;
步骤111:接收到名字为N3消息的车辆节点将该消息转发到邻居车辆节点,执行步骤110;
步骤112:车辆节点V1构建名字N4,在名字N4中,源地理坐标为(x1,y1),目的地理坐标为(x2,y2),命令域值为3,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N4,负载为数据C1;
步骤113:如果接入节点AP1接收到名字为N4的消息,则执行步骤117,否则执行步骤114;
步骤114:接收到名字为N4的消息的车辆节点从车辆节点E2接收到该消息,如果该车辆节点与名字N4的目的地理坐标的距离小于车辆节点E2与名字N4的目的地理坐标的距离,则执行步骤115,否则执行步骤116;
步骤115:接收到名字为N4的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤113;
步骤116:接收到名字为N4的消息的车辆节点丢弃该消息,执行步骤113;
步骤117:接入节点AP1接收到名字为N4的消息后,在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N4的数据类型和数据坐标,数据值为该消息中的负载数据C1,生命周期值为最大值,并将自己标记为云VC1的成员;
步骤118:结束。
图2为本发明所述的接入节点构建云流程示意图。在数据C2由数据类型CY2和数据坐标(x2,y2)唯一定义,数据坐标(x2,y2)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,接入节点AP1通过下述过程构建云VC2来创建数据C2,云VC2由数据类型CY2和数据坐标(x2,y2)唯一标识:
步骤201:开始;
步骤202:接入节点AP1构建名字N5,在名字N5中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY2,数据坐标为(x2,y2);接入节点AP1发送一个消息,该消息的名字为N5,负载为空;
步骤203:一个车辆节点接收到名字为N5且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C2的部分数据,则构建名字N6,在名字N6中,源地理坐标为(0,0),目的地理坐标为名字N5中的源地理坐标,命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N5中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N6,负载为构建的数据C1的部分数据;该车辆节点将名字N5中的跳数域值递减1,如果跳数域值为0,则执行步骤204,否则执行步骤203;
步骤204:如果接入节点AP1接收到名字为N6且负载不为空的消息,则执行步骤209;否则执行步骤205;
步骤205:接收到名字为N6且负载不为空的消息的车辆节点将名字N6中的跳数域值递减1,如果跳数域值为0,则执行步骤209,否则执行步骤206;
步骤206:如果接收到名字为N6且负载不为空的消息的车辆节点从车辆节点E3接收到该消息且车辆节点与名字N6的目的地理坐标的距离小于车辆节点E3与名字N6的目的地理坐标的距离,则执行步骤207,否则执行步骤208;
步骤207:接收到名字为N6且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤204;
步骤208:接收到名字为N6且负载不为空的消息的车辆节点丢弃该消息,执行步骤204;
步骤209:在预定时间内,接入节点AP1接收到名字为N6且负载不为空的消息后利用消息负载中的数据构建数据C2,然后构建名字N7,在名字N7中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY2,数据坐标为(x2,y2);车辆节点发送一个消息,该消息的名字为N7,负载为数据C2;接入节点AP1在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N6的数据类型和数据坐标,数据值为数据C2,生命周期值为最大值,并将自己标记为云VC2的成员;
步骤210:接收到名字为N7消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N6的消息,则保存该消息的负载数据C2并将自己标记为云VC2成员;车辆节点将名字N7中的跳数域值递减1,如果跳数域值为0,则执行步骤212,否则执行步骤211;
步骤211:接收到名字为N7消息的车辆节点将该消息转发到邻居车辆节点,执行步骤210;
步骤212:结束。
图3为本发明所述的车辆节点本地获取数据流程示意图。在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2),云VC1的成员能够提供数据C1的条件下,如果车辆节点V3位于子网S1内,地理坐标为(x3,y3),那么它通过下述过程获取数据C1:
步骤301:开始;
步骤302:车辆节点V3构建名字N8,在名字N8中,源地理坐标为(x3,y3),目的地理坐标为(x2,y2),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N8,负载为空;
步骤303:如果接入节点AP1接收到名字为N8的消息,则执行步骤304,否则执行步骤307;
步骤304:接入节点AP1查看云表,如果存在数据类型为CY1且数据坐标为(x1,y1)的云表项,则执行步骤305,否则执行步骤306;
步骤305:接入节点AP1构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N9,负载为数据类型为CY1且数据坐标为(x1,y1)的云表项的数据域值,执行步骤314;
步骤306:接入节点AP1构建名字N10,在名字N10中,源地理坐标为名字N8的源地理坐标,目的地理坐标为名字N8的数据坐标,命令域值为4,跳数域值为0,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N10,负载为空;
步骤307:车辆节点接收到名字为N8或者N10的消息后,判断自己是否能够提供名字N8或者N10的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤308,否则执行步骤309;
步骤308:接收到名字为N8或者N10的消息的车辆节点构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤309:如果接收到名字为N8或者N10的消息的车辆节点的地理坐标为名字N8或者N10的数据坐标,即地理坐标(x1,y1),则执行步骤310,否则执行步骤311;
步骤310:位于地理坐标(x1,y1)的车辆节点如果没有保存数据C1,则执行步骤101~步骤118创建数据C1,然后构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤311:如果接收到名字为N8或者N10的消息的车辆节点从车辆节点E4接收到该消息,且该车辆节点与名字N8或者N10的目的地理坐标的距离小于车辆节点E4与名字N8或者N10的目的地理坐标的距离,则执行步骤312,否则执行步骤313;
步骤312:接收到名字为N8或者N10的消息的车辆节点转发该消息,执行步骤303;
步骤313:接收到名字为N8或者N10的消息的车辆节点丢弃该消息,执行步骤303;
步骤314:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤315;
步骤315:如果接收到名字为N9的消息的车辆节点从车辆节点E5接收到该消息,且该车辆节点与名字N9的目的地理坐标的距离小于车辆节点E5与名字N9的目的地理坐标的距离,则执行步骤316,否则执行步骤317;
步骤316:接收到名字为N9的消息的车辆节点丢弃该消息,执行步骤314;
步骤317:接收到名字为N9的消息的车辆节点转发该消息,如果该车辆节点在名字N9的目的地理坐标的一跳范围内,则执行步骤319,否则执行步骤314;
步骤318:车辆节点V3接收到名字为N9的消息后保存消息负载中的数据C1,将自己标记为云VC1的成员,车辆节点V3构建名字N11,在名字N11中,源地理坐标为(x3,y3),目的地理坐标为(0,0),命令域值为6,跳数域值为1,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N11,负载为空,执行步骤323;
步骤319:接收到名字N9的消息的车辆节点如果在预定时间内接收到名字为N11的消息,则执行步骤323,否则执行步骤320;
步骤320:接收到名字N9的消息的车辆节点将名字N9的跳数域值递减1,如果跳数域值为0,则执行步骤323,否则执行步骤321;
步骤321:接收到名字N9的消息车辆节点转发该消息;
步骤322:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤319;
步骤323:结束。
图4为本发明所述的接入节点本地获取数据流程示意图。在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,接入节点AP1通过下述过程获取数据C1:
步骤401:开始;
步骤402:接入节点AP1构建名字P1,在名字P1中,源地理坐标为(x2,y2),目的地理坐标为(x1,y1),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);接入节点AP1从无线接口发送一个消息,该消息的名字为P1,负载为空;车辆节点接收到名字为P1的消息后,判断自己是否能够提供名字P1的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤403,否则执行步骤404;
步骤403:接收到名字为P1的消息的车辆节点构建名字P2,在名字P2中,源地理坐标为(0,0),目的地理坐标为名字P1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字P1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为P2,负载为数据C1,执行步骤409;
步骤404:如果接收到名字为P1的消息的车辆节点的地理坐标与名字P1的数据坐标即地理坐标(x1,y1)相同,则执行步骤405,否则执行步骤406;
步骤405:位于地理坐标(x1,y1)的车辆节点如果没有保存数据C1,则执行步骤101~步骤118创建数据C1,然后构建名字P2,在名字P2中,源地理坐标为(0,0),目的地理坐标为名字P1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字P1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为P2,负载为数据C1,执行步骤409;
步骤406:如果接收到名字为P1的消息的车辆节点从车辆节点X1接收到该消息且该车辆节点与名字P1的目的地理坐标的距离小于车辆节点X1与名字P1的目的地理坐标的距离,则执行步骤407,否则执行步骤408;
步骤407:接收到名字为P1的消息的车辆节点转发该消息,执行步骤403;
步骤408:接收到名字为P1的消息的车辆节点丢弃该消息,执行步骤403;
步骤409:如果接入节点AP1接收到名字为P2的消息,则执行步骤413,否则执行步骤410;
步骤410:如果接收到名字为P2的消息的车辆节点从车辆节点X2接收到该消息,且该车辆节点与名字P2的目的地理坐标的距离小于车辆节点X2与名字P2的目的地理坐标的距离,则执行步骤411,否则执行步骤412;
步骤411:接收到名字为P2的消息的车辆节点丢弃该消息,执行步骤409;
步骤412:接收到名字为P2的消息的车辆节点转发该消息,执行步骤409;
步骤413:接入节点AP1接收到名字为P2的消息后,创建一个云表项,该云表项的数据类型和数据坐标等于名字P2的数据类型和数据坐标,数据域值为数据C1,将自己标记为云VC1的成员;
步骤414:结束。
图5为本发明所述的车辆节点远程获取数据流程示意图。每个接入节点保存一个聚合表,每个聚合表项包含数据类型域,数据坐标域和名字域;
在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2),云VC1的成员能够提供数据C1的条件下,如果车辆节点V4位于子网S5内,车辆节点V4的地理坐标为(x4,y4),子网S5的接入节点为AP5,地理坐标为(x5,y5),那么它通过下述过程获取数据C1:
步骤501:开始;
步骤502:车辆节点V4构建名字A1,在名字A1中,源地理坐标为(x4,y4),目的地理坐标为(x5,y5),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点V4发送一个消息,该消息的名字为A1,负载为空;
步骤503:如果接入节点接收到名字为A1的消息,则执行步骤509,否则执行步骤504;
步骤504:车辆节点接收到名字为A1的消息后,判断自己是否能够提供名字A1的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤505,否则执行步骤506;
步骤505:接收到名字为A1的消息的车辆节点构建名字A2,在名字A2中,源地理坐标为(0,0),目的地理坐标为名字A1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字A1的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为A2,负载为数据C1,执行步骤513;
步骤506:如果接收到名字为A1的消息的车辆节点从车辆节点H1接收到该消息,且该车辆节点与名字A1的目的地理坐标的距离小于车辆节点H1与A1的目的地理坐标的距离,则执行步骤507,否则执行步骤508;
步骤507:接收到名字为A1的消息的车辆节点转发该消息,执行步骤503;
步骤508:接收到名字为A1的消息的车辆节点丢弃该消息,执行步骤503;
步骤509:如果接入节点的聚合表中不存在数据类型为CY1,数据坐标为(x1,y1)且名字域值为A1的聚合表项,接入节点则创建一个聚合表项,该聚合表项的数据类型为CY1,数据坐标为(x1,y1),名字域值为A1;如果接入节点只有一项数据名称为CY1且数据坐标为(x1,y1)的聚合表项,则执行步骤510,否则执行步骤513;
步骤510:判断接收到名字为A1的消息的接入节点是否为接入节点AP1,如果是,则执行步骤512,否则执行步骤511;
步骤511:接收到名字为A1的消息的接入节点计算所有邻居接入节点与名字A1的目的地理坐标的距离,选择距离最近的邻居接入节点,并从与该邻居接入节点相连的有线接口转发该消息,执行步骤503;
步骤512:接收到名字为A1的消息的接入节点AP1查看云表,如果不存在数据名称和数据坐标分别等于名字A1的数据名称和数据坐标的云表项,则执行步骤401~414获取数据C1,然后构建名字A2,在名字A2中,源地理坐标为(0,0),目的地理坐标为名字A1的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字A1的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为A2,负载为数据C1;
步骤513:如果接入节点接收到名字为A2的消息,则执行步骤514,否则执行步骤517;
步骤514:接收到名字为A2的消息的接入节点查看聚合表,选择所有数据类型和数据坐标等于名字A2的数据类型和数据坐标的聚合表项,对于每个选中的聚合表项进行如下操作:接入节点构建一个名字,该名字中,源地理坐标为(0,0),目的地理坐标为该聚合表项的名字的源地理坐标,命令值为5,跳数域值为初始值,数据类型和数据坐标为该聚合表项的名字的数据类型和数据坐标,接入节点从无线接口发送一个消息,该消息的名字为构建的名字,负载为接收到的名字为A2的消息负载;
步骤515:判断接收到名字为A2的消息的接入节点是否为接入节点AP5,如果是,则执行步骤517,否则执行步骤516;
步骤516:接收到名字为A2的消息的接入节点计算所有邻居接入节点与名字A2的目的地理坐标的距离,选择距离最近的邻居接入节点,并从与该邻居接入节点相连的有线接口转发该消息,执行步骤513;
步骤517:如果接收到名字为A2的消息的车辆节点为车辆节点V4,则执行步骤521,否则执行步骤518;
步骤518:如果接收到名字为A2的消息的车辆节点从车辆节点H2接收到该消息,且该车辆节点与名字A2的目的地理坐标的距离小于车辆节点H2与A2的目的地理坐标的距离,则执行步骤520,否则执行步骤519;
步骤519:接收到名字为A2的消息的车辆节点丢弃该消息,执行步骤517;
步骤520:接收到名字为A2的消息的车辆节点转发该消息,如果该车辆节点在名字A2的目的地理坐标的一跳范围内,则执行步骤522,否则执行步骤517;
步骤521:车辆节点V4接收到名字为A2的消息后保存消息负载中的数据C1,车辆节点V3构建名字A3,在名字A3中,源地理坐标为(x4,y4),目的地理坐标为(0,0),命令域值为6,跳数域值为1,数据类型为CY1,数据坐标为(x1,y1);车辆节点V4发送一个消息,该消息的名字为A3,负载为空,执行步骤526;
步骤522:接收到名字A2的消息的车辆节点如果在预定时间内接收到名字为A3的消息,则执行步骤526,否则执行步骤523;
步骤523:接收到名字A2的消息的车辆节点将名字A2的跳数域值递减1,如果跳数域值为0,则执行步骤526,否则执行步骤524;
步骤524:接收到名字A2的消息的车辆节点转发该消息;
步骤525:如果车辆节点V4接收到名字为A2的消息,则执行步骤521,否则执行步骤522;
步骤526:结束。
实施例1
基于表1的仿真参数,本实施例模拟了本发明基于地理位置的智能车载网数据通信实现方法,性能分析如下:当数据提供者数量增加的情况下,车辆节点获取数据的延迟降低,当数据提供者数量减少的情况下,车辆节点获取数据的延迟增加,车辆节点获取数据的平均延迟为72ms。
表1仿真参数
Figure GDA0002308279480000231
本发明提供了一种基于地理位置的智能车载网数据通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

Claims (3)

1.一种基于地理位置的智能车载网数据通信实现方法,其特征在于,所述车载网包括接入节点和车辆节点,车辆节点或者接入节点均为设备;接入节点的地理坐标具有唯一性;一个接入节点与车辆节点构成一个子网,一个子网中的车辆节点在所有的接入节点中与同一个子网中的接入节点距离最近,一个接入节点唯一标识一个子网,车辆节点启动后,获取所在车载网的接入节点的地理坐标,并加入距离自己最近的接入节点所在的子网;位于两个不同子网的车辆节点通过所在子网的接入节点进行通信;
一种与地理位置相关的数据由数据类型和数据坐标唯一标识,数据类型定义了数据的种类,数据坐标定义该数据发生的位置;接入节点具有无线接口和有线接口,接入节点通过无线接口与车辆节点实现通信,通过有线接口与邻居接入节点实现通信;接入节点保存所有邻居接入节点的地理坐标;
一个消息包含名字域和负载域,名字域包含源地理坐标域、目的地理坐标域、命令域、跳数域、数据类型域和数据坐标域;源地理坐标域为发送消息的设备的地理坐标;目的地理坐标域为目标设备的地理坐标,命令域值表1所示;跳数域值定义消息的传输范围,跳数域值只有在目的地理坐标域值为0或者命令域值为5的情况下有效,跳数域值的初始值预先设置;数据类型和数据坐标定义了目标数据;如果目的地理坐标为(0,0),则跳数域定义的传输范围内的所有设备均为目标设备;
表1:
命令类型 命令值 构建数据 1 共享数据 2 注册数据 3 请求数据 4 响应数据 5 确认数据 6
一种与地理位置相关的数据通过创建云来构建,每个云成员保存一个云表,云表项包含数据类型域、数据坐标域、数据值域和生命周期域;如果一个云表项的生命周期衰减为0,则该云表项从云表中删除;
在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,如果车辆节点V1的地理坐标为(x1,y1),则通过构建云VC1来创建数据C1,云VC1由数据类型CY1和数据坐标(x1,y1)唯一标识:
步骤101:开始;
步骤102:车辆节点V1构建名字N1,在名字N1中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY1,数据坐标为(x1,y1);车辆节点V1发送一个消息,该消息的名字为N1,负载为空;
步骤103:一个车辆节点接收到名字为N1且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C1的部分数据,则构建名字N2,在名字N2中,源地理坐标为(0,0),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N1中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N2,负载为构建的数据C1的部分数据;该车辆节点将名字N1中的跳数域值递减1,如果跳数域值为0,则执行步骤104,否则执行步骤103;
步骤104:如果车辆节点V1接收到名字为N2且负载不为空的消息,则执行步骤109;否则执行步骤105;
步骤105:接收到名字为N2且负载不为空的消息的车辆节点将名字N2中的跳数域值递减1,如果跳数域值为0,则执行步骤109,否则执行步骤106;
步骤106:如果接收到名字为N2且负载不为空的消息的车辆节点从车辆节点E1接收到该消息且车辆节点与名字N2的目的地理坐标的距离小于车辆节点E1与名字N2的目的地理坐标的距离,则执行步骤107,否则执行步骤108;
步骤107:接收到名字为N2且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤104;
步骤108:接收到名字为N2且负载不为空的消息的车辆节点丢弃该消息,执行步骤104;
步骤109:在预定时间内,车辆节点V1接收到名字为N2且负载不为空的消息后利用消息负载中的数据构建数据C1,然后构建名字N3,在名字N3中,源地理坐标为(x1,y1),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N3,负载为数据C1;
步骤110:接收到名字为N3消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N2的消息,则保存该消息的负载数据C1并将自己标记为云VC1成员;车辆节点将名字N3中的跳数域值递减1,如果跳数域值为0,则执行步骤112,否则执行步骤111;
步骤111:接收到名字为N3消息的车辆节点将该消息转发到邻居车辆节点,执行步骤110;
步骤112:车辆节点V1构建名字N4,在名字N4中,源地理坐标为(x1,y1),目的地理坐标为(x2,y2),命令域值为3,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点发送一个消息,该消息的名字为N4,负载为数据C1;
步骤113:如果接入节点AP1接收到名字为N4的消息,则执行步骤117,否则执行步骤114;
步骤114:接收到名字为N4的消息的车辆节点从车辆节点E2接收到该消息,如果该车辆节点与名字N4的目的地理坐标的距离小于车辆节点E2与名字N4的目的地理坐标的距离,则执行步骤115,否则执行步骤116;
步骤115:接收到名字为N4的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤113;
步骤116:接收到名字为N4的消息的车辆节点丢弃该消息,执行步骤113;
步骤117:接入节点AP1接收到名字为N4的消息后,在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N4的数据类型和数据坐标,数据值为该消息中的负载数据C1,生命周期值为最大值,并将自己标记为云VC1的成员;
步骤118:结束。
2.根据权利要求1所述的一种基于地理位置的智能车载网数据通信实现方法,其特征在于,在数据C2由数据类型CY2和数据坐标(x2,y2)唯一定义,数据坐标(x2,y2)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2)的条件下,接入节点AP1通过下述过程构建云VC2来创建数据C2,云VC2由数据类型CY2和数据坐标(x2,y2)唯一标识:
步骤201:开始;
步骤202:接入节点AP1构建名字N5,在名字N5中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型为CY2,数据坐标为(x2,y2);接入节点AP1发送一个消息,该消息的名字为N5,负载为空;
步骤203:一个车辆节点接收到名字为N5且负载为空的消息后,执行下述操作:如果该车辆节点能构建数据C2的部分数据,则构建名字N6,在名字N6中,源地理坐标为(0,0),目的地理坐标为(0,0),命令域值为1,跳数域值为初始值,数据类型和数据坐标为名字N5中的数据类型和数据坐标;车辆节点发送一个消息,该消息的名字为N6,负载为构建的数据C1的部分数据;该车辆节点将名字N5中的跳数域值递减1,如果跳数域值为0,则执行步骤204,否则执行步骤203;
步骤204:如果接入节点AP1接收到名字为N6且负载不为空的消息,则执行步骤209;否则执行步骤205;
步骤205:接收到名字为N6且负载不为空的消息的车辆节点将名字N6中的跳数域值递减1,如果跳数域值为0,则执行步骤209,否则执行步骤206;
步骤206:如果接收到名字为N6且负载不为空的消息的车辆节点从车辆节点E3接收到该消息且车辆节点与名字N6的目的地理坐标的距离小于车辆节点E3与名字N6的目的地理坐标的距离,则执行步骤207,否则执行步骤208;
步骤207:接收到名字为N6且负载不为空的消息的车辆节点将该消息转发到邻居车辆节点,执行步骤204;
步骤208:接收到名字为N6且负载不为空的消息的车辆节点丢弃该消息,执行步骤204;
步骤209:在预定时间内,接入节点AP1接收到名字为N6且负载不为空的消息后利用消息负载中的数据构建数据C2,然后构建名字N7,在名字N7中,源地理坐标为(x2,y2),目的地理坐标为(0,0),命令域值为2,跳数域值为初始值加1,数据类型为CY2,数据坐标为(x2,y2);车辆节点发送一个消息,该消息的名字为N7,负载为数据C2;接入节点AP1在云表中创建一个云表项,该云表项的数据类型和数据坐标为名字N6的数据类型和数据坐标,数据值为数据C2,生命周期值为最大值,并将自己标记为云VC2的成员;
步骤210:接收到名字为N7消息的车辆节点执行下述操作:如果该车辆节点曾经返回名字为N6的消息,则保存该消息的负载数据C2并将自己标记为云VC2成员;车辆节点将名字N7中的跳数域值递减1,如果跳数域值为0,则执行步骤212,否则执行步骤211;
步骤211:接收到名字为N7消息的车辆节点将该消息转发到邻居车辆节点,执行步骤210;
步骤212:结束。
3.根据权利要求1所述的一种基于地理位置的智能车载网数据通信实现方法,其特征在于,在数据C1由数据类型CY1和数据坐标(x1,y1)唯一定义,数据坐标(x1,y1)位于子网S1内,子网S1内的接入节点为AP1,接入节点AP1的地理坐标为(x2,y2),云VC1的成员能够提供数据C1的条件下,如果车辆节点V3位于子网S1内,地理坐标为(x3,y3),那么它通过下述过程获取数据C1:
步骤301:开始;
步骤302:车辆节点V3构建名字N8,在名字N8中,源地理坐标为(x3,y3),目的地理坐标为(x2,y2),命令域值为4,跳数域值为0,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N8,负载为空;
步骤303:如果接入节点AP1接收到名字为N8的消息,则执行步骤304,否则执行步骤307;
步骤304:接入节点AP1查看云表,如果存在数据类型为CY1且数据坐标为(x1,y1)的云表项,则执行步骤305,否则执行步骤306;
步骤305:接入节点AP1构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N9,负载为数据类型为CY1且数据坐标为(x1,y1)的云表项的数据域值,执行步骤314;
步骤306:接入节点AP1构建名字N10,在名字N10中,源地理坐标为名字N8的源地理坐标,目的地理坐标为名字N8的数据坐标,命令域值为4,跳数域值为0,数据类型和数据坐标均为名字N8的数据类型和数据坐标;接入节点AP1发送一个消息,该消息的名字为N10,负载为空;
步骤307:车辆节点接收到名字为N8或者N10的消息后,判断自己是否能够提供名字N8或者N10的数据类型和数据坐标定义的数据,即数据C1,如果能,则执行步骤308,否则执行步骤309;
步骤308:接收到名字为N8或者N10的消息的车辆节点构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤309:如果接收到名字为N8或者N10的消息的车辆节点的地理坐标为名字N8或者N10的数据坐标,即地理坐标(x1,y1),则执行步骤310,否则执行步骤311;
步骤310:位于地理坐标(x1,y1)的车辆节点如果没有保存数据C1,则执行步骤101~步骤118创建数据C1,然后构建名字N9,在名字N9中,源地理坐标为(0,0),目的地理坐标为名字N8或者名字N10的源地理坐标,命令域值为5,跳数域值为初始值,数据类型和数据坐标均为名字N8或者名字N10的数据类型和数据坐标;该车辆节点发送一个消息,该消息的名字为N9,负载为数据C1,执行步骤314;
步骤311:如果接收到名字为N8或者N10的消息的车辆节点从车辆节点E4接收到该消息,且该车辆节点与名字N8或者N10的目的地理坐标的距离小于车辆节点E4与名字N8或者N10的目的地理坐标的距离,则执行步骤312,否则执行步骤313;
步骤312:接收到名字为N8或者N10的消息的车辆节点转发该消息,执行步骤303;
步骤313:接收到名字为N8或者N10的消息的车辆节点丢弃该消息,执行步骤303;
步骤314:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤315;
步骤315:如果接收到名字为N9的消息的车辆节点从车辆节点E5接收到该消息,且该车辆节点与名字N9的目的地理坐标的距离小于车辆节点E5与名字N9的目的地理坐标的距离,则执行步骤316,否则执行步骤317;
步骤316:接收到名字为N9的消息的车辆节点丢弃该消息,执行步骤314;
步骤317:接收到名字为N9的消息的车辆节点转发该消息,如果该车辆节点在名字N9的目的地理坐标的一跳范围内,则执行步骤319,否则执行步骤314;
步骤318:车辆节点V3接收到名字为N9的消息后保存消息负载中的数据C1,将自己标记为云VC1的成员,车辆节点V3构建名字N11,在名字N11中,源地理坐标为(x3,y3),目的地理坐标为(0,0),命令域值为6,跳数域值为1,数据类型为CY1,数据坐标为(x1,y1);车辆节点V3发送一个消息,该消息的名字为N11,负载为空,执行步骤323;
步骤319:接收到名字N9的消息的车辆节点如果在预定时间内接收到名字为N11的消息,则执行步骤323,否则执行步骤320;
步骤320:接收到名字N9的消息的车辆节点将名字N9的跳数域值递减1,如果跳数域值为0,则执行步骤323,否则执行步骤321;
步骤321:接收到名字N9的消息车辆节点转发该消息;
步骤322:如果车辆节点V3接收到名字为N9的消息,则执行步骤318,否则执行步骤319;
步骤323:结束。
CN201710750461.4A 2017-08-28 2017-08-28 一种基于地理位置的智能车载网数据通信实现方法 Active CN107395758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710750461.4A CN107395758B (zh) 2017-08-28 2017-08-28 一种基于地理位置的智能车载网数据通信实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710750461.4A CN107395758B (zh) 2017-08-28 2017-08-28 一种基于地理位置的智能车载网数据通信实现方法

Publications (2)

Publication Number Publication Date
CN107395758A CN107395758A (zh) 2017-11-24
CN107395758B true CN107395758B (zh) 2020-04-24

Family

ID=60346229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710750461.4A Active CN107395758B (zh) 2017-08-28 2017-08-28 一种基于地理位置的智能车载网数据通信实现方法

Country Status (1)

Country Link
CN (1) CN107395758B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696838B (zh) * 2018-05-30 2020-09-25 常熟理工学院 一种基于位置信息的车载数据路由方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032493B2 (en) * 2011-03-31 2015-05-12 Intel Corporation Connecting mobile devices, internet-connected vehicles, and cloud services
US9581997B1 (en) * 2011-04-22 2017-02-28 Angel A. Penilla Method and system for cloud-based communication for automatic driverless movement
CN104052766B (zh) * 2013-03-13 2017-11-10 北京中科联众科技股份有限公司 基于云计算的异构网络的综合智能通信方法及系统
CN105282708B (zh) * 2014-07-17 2019-06-21 本田技研工业株式会社 互通消息的方法以及电子设备
CN106161579A (zh) * 2015-04-28 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种地理位置共享方法及装置
WO2017053046A1 (en) * 2015-09-21 2017-03-30 Continental Intelligent Transportation Systems, LLC On-demand and on-site vehicle maintenance service
CN106973105B (zh) * 2017-03-29 2019-08-09 常熟理工学院 一种基于定位信息的车载云数据通信方法
CN106792978B (zh) * 2017-03-29 2021-03-16 常熟理工学院 一种基于云的智能车联网数据通信方法

Also Published As

Publication number Publication date
CN107395758A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN106792978B (zh) 一种基于云的智能车联网数据通信方法
CN110691384B (zh) 一种网络切片使用方法及装置
US11792124B2 (en) Routing method and apparatus to transmit data packets to nodes
CN106304395B (zh) 一种通信方法及设备
CN109246785B (zh) 一种未来移动网络的实现方法
CN105246118A (zh) 一种基于定位信息的无线网络通信实现方法
CN105187529A (zh) 一种基于定位信息的车联网实现方法
CN107508927B (zh) 一种基于云的未来车联网数据通信方法
CN103796188A (zh) 下行传输数据的方法和设备
CN106900174B (zh) 无线局域网网状网络的数据传输方法、装置及系统
CN109462549B (zh) 一种新一代无线移动网络的实现方法
WO2018019056A1 (zh) 传输数据的方法和中继节点
US20220086682A1 (en) Method and apparatus for relay operation in wireless communication system
CN103312811A (zh) 一种车载网接入IPv6互联网的实现方法
CN109089241B (zh) 一种车载网的数据通信实现方法
CN109076328A (zh) 移动性管理方法和装置
CN104869601A (zh) 一种下一代车联网的通信实现方法
CN107395758B (zh) 一种基于地理位置的智能车载网数据通信实现方法
CN108810881B (zh) 一种配网方法、设备及系统
TW201801559A (zh) 設備對設備(d2d)通信的方法和設備對設備(d2d)設備
CN109275172B (zh) 通信路由的建立方法、装置、计算机存储介质和系统
CN109041164B (zh) 一种基于车联网的道路安全信息实时通信方法
CN107484110B (zh) 一种基于智能车载传感网的数据通信实现方法
CN108696838B (zh) 一种基于位置信息的车载数据路由方法
CN107484109B (zh) 一种车载传感网数据通信方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant