一种车联网的跨层路由方法、装置及电子设备与流程

文档序号:16278993发布日期:2018-12-14 22:46阅读:156来源:国知局
一种车联网的跨层路由方法、装置及电子设备与流程

本发明涉及通信技术领域,特别是涉及一种车联网的跨层路由方法、装置及电子设备。

背景技术

车联网是智能交通系统的重要基础。车联网中的车辆集成了信息和通信技术,可以实现车与车之间的通信,而路由协议在车辆之间相互通信的过程中起着重要的作用。

目前,车联网中常见的路由协议有gpsr协议(greedyperimeterstatelessrouting,贪婪周边无状态路由),该gpsr协议主要执行贪婪转发策略和边界转发策略。gpsr协议规定:若存在比转发节点距离目的节点更近的邻居节点,则选择离目的节点最近的邻居节点作为下一跳节点;若没有比转发节点距离目的节点更近的邻居节点,则采用边缘转发策略。

然而,车联网中车辆节点移动速度快,网络拓扑结构变化频繁,且车辆节点的密度较大,使得车辆节点之间容易出现较为严重的通信干扰。在这种情况下,若位置相近的车辆节点接收通过相同的时频资源发送来的数据,则会进一步加重车辆节点之间的通信干扰。而由于现有技术中基于gpsr协议的路由方法只是通过从应用层获得的车辆位置信息来进行路由选择,使得车辆之间的通信干扰会对所选择的路由造成很大影响,因此,最终导致路由选择的稳定性差,即数据传输失败的概率较高。



技术实现要素:

本发明实施例的目的在于提供一种车联网的跨层路由方法、装置及电子设备,以提高车联网中路由选择的稳定性。具体技术方案如下:

第一方面,本发明实施提供了一种车联网的跨层路由方法,应用于车联网中的车辆节点,所述车联网中不同地理区域的车辆节点使用不同的时频资源发送数据包,所述方法包括:

获取待发送的目标数据包;

从所存储的邻居节点列表中读取每个邻居节点的地理位置信息、所述每个邻居节点所在的地理区域信息,以及所述每个邻居节点对应的信干噪比;其中,任一邻居节点的地理位置信息和地理区域信息为从该邻居节点发送的信标中提取的信息,任一邻居节点对应的信干噪比是所述车辆节点接收到该邻居节点发送的信标时的信干噪比;

根据所述每个邻居节点的地理位置信息,计算所述每个邻居节点对应的第一度量值;根据所述每个邻居节点所在的地理区域信息,计算所述每个邻居节点对应的第二度量值;根据所述每个邻居节点对应的信干噪比,计算所述每个邻居节点对应的第三度量值;

针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值;

将对应最大综合度量值的邻居节点确定为目标节点,并计算所述目标节点到目的节点的第一距离以及所述车辆节点到所述目的节点的第二距离;其中,所述目的节点是所述目标数据包对应的目的节点;

若第一距离不大于第二距离,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目标节点,否则,采用边缘转发方式,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目的节点。

可选地,所述针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值,包括:

针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,并将计算得到的几何平均值作为该邻居节点对应的综合度量值。

可选地,本发明实施所提供的一种车联网的跨层路由方法还包括:

当所述车辆节点接收到所述车联网中任一邻居节点发送的信标后,从当前的信标中提取目标邻居节点的id、地理位置信息和所在的地理区域信息;其中,所述目标邻居节点为发送当前的信标的邻居节点;

从mac层获取接收当前的信标时的信干噪比;

以所述目标邻居节点的地理位置信息、所在的地理区域信息以及所获取的信干噪比构成所述目标邻居节点的当前目标信息;

以所述目标邻居节点的id,在所述邻居节点列表中搜索所述目标邻居节点的节点条目;

若未搜索到,将包含所述目标邻居节点的id和当前目标信息的所述目标邻居节点的节点条目,增加至所述邻居节点列表中;

若搜索到,将所述目标邻居节点的节点条目中的原目标信息更新为当前目标信息。

可选地,所述邻居节点列表中的任一邻居节点的节点条目中还记录有:所述车辆节点接收到该邻居节点发送的信标的时刻;本发明实施所提供的一种车联网的跨层路由方法还包括:

按预设间隔周期性地检测所述邻居节点列表中每个邻居节点的节点条目的存储时长;其中,任一邻居节点的节点条目的存储时长是:接收到该邻居节点发送的信标的时刻到当前周期起始时刻的时长;

将存储时长超过预设时长的邻居节点的节点条目从所述邻居节点列表中删除。

可选地,所述根据所述每个邻居节点的地理位置信息,计算所述每个邻居节点对应的第一度量值,包括:

根据所述每个邻居节点的地理位置信息,通过第一预设度量函数计算所述每个邻居节点对应的第一度量值;其中,所述第一预设度量函数的表达式为:

其中,u1,i表示邻居节点i对应的第一度量值,dref表示预设参考距离,di表示邻居节点i到所述目的节点d的欧式距离。

可选地,所述根据所述每个邻居节点所在的地理区域信息,计算所述每个邻居节点对应的第二度量值,包括:

根据所述每个邻居节点所在的地理区域信息,通过第二预设度量函数计算所述每个邻居节点对应的第二度量值;其中,所述第二预设度量函数的表达式为:

其中,u2,i表示邻居节点i对应的第二度量值,表示邻居节点i所在地理区域和所述车辆节点s所在地理区域的距离。

可选地,所述根据所述每个邻居节点对应的信干噪比,计算所述每个邻居节点对应的第三度量值,包括:

根据所述每个邻居节点对应的信干噪比,通过第三预设度量函数计算所述每个邻居节点对应的第三度量值;其中,所述第三预设度量函数的表达式为:

其中,u3,i表示邻居节点i对应的第三度量值,sref表示预设参考信干噪比,si表示邻居节点i对应的信干噪比。

可选地,所述针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,包括:

针对每一邻居节点,通过预设函数,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值;其中,所述预设函数为:

其中,表示邻居节点i的几何平均值,为邻居节点i对应的第一度量值,为邻居节点i对应的第二度量值,为邻居节点i对应的第三度量值,w1,w2,w3分别表示第一至第三度量值的权重。

第二方面,本发明实施例还提供了一种车联网的跨层路由装置,应用于车联网中的车辆节点,所述车联网中不同地理区域的车辆节点使用不同的时频资源发送数据包,所述装置包括:

第一获取模块,用于获取待发送的目标数据包;

读取模块,用于从所存储的邻居节点列表中读取每个邻居节点的地理位置信息、所述每个邻居节点所在的地理区域信息,以及所述每个邻居节点对应的信干噪比;其中,任一邻居节点的地理位置信息和地理区域信息为从该邻居节点发送的信标中提取的信息,任一邻居节点对应的信干噪比是所述车辆节点接收到该邻居节点发送的信标时的信干噪比;

第一计算模块,用于根据所述每个邻居节点的地理位置信息,计算所述每个邻居节点对应的第一度量值;根据所述每个邻居节点所在的地理区域信息,计算所述每个邻居节点对应的第二度量值;根据所述每个邻居节点对应的信干噪比,计算所述每个邻居节点对应的第三度量值;

第二计算模块,用于针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值;

确定模块,用于将对应最大综合度量值的邻居节点确定为目标节点,并计算所述目标节点到目的节点的第一距离以及所述车辆节点到所述目的节点的第二距离;其中,所述目的节点是所述目标数据包对应的目的节点;

处理模块,用于若第一距离不大于第二距离,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目标节点,否则,采用边缘转发方式,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目的节点。

可选地,所述第二计算模块,具体用于针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,并将计算得到的几何平均值作为该邻居节点对应的综合度量值。

可选地,本发明实施所提供的一种车联网的跨层路由装置还包括:

提取模块,用于当所述车辆节点接收到所述车联网中任一邻居节点发送的信标后,从当前的信标中提取目标邻居节点的id、地理位置信息和所在的地理区域信息;其中,所述目标邻居节点为发送当前的信标的邻居节点;

第二获取模块,从mac层获取接收当前的信标时的信干噪比;

构建模块,用于以所述目标邻居节点的地理位置信息、所在的地理区域信息以及所获取的信干噪比构成所述目标邻居节点的当前目标信息;

搜索模块,用于以所述目标邻居节点的id,在所述邻居节点列表中搜索所述目标邻居节点的节点条目;

建立模块,用于若未搜索到,将包含所述目标邻居节点的id和当前目标信息的所述目标邻居节点的节点条目,增加至所述邻居节点列表中;

更新模块,用于若搜索到,将所述目标邻居节点的节点条目中的原目标信息更新为当前目标信息。

可选地,所述邻居节点列表中的任一邻居节点的节点条目中还记录有:所述车辆节点接收到该邻居节点发送的信标的时刻;本发明实施例所提供的一种车联网的跨层路由装置还包括:

检测模块,按预设间隔周期性地检测所述邻居节点列表中每个邻居节点的节点条目的存储时长;其中,任一邻居节点的节点条目的存储时长是:接收到该邻居节点发送的信标的时刻到当前周期起始时刻的时长;

删除模块,将存储时长超过预设时长的邻居节点的节点条目从所述邻居节点列表中删除。

可选地,所述第一计算模块,具体用于根据所述每个邻居节点的地理位置信息,通过第一预设度量函数计算所述每个邻居节点对应的第一度量值;其中,所述第一预设度量函数的表达式为:

其中,u1,i表示邻居节点i对应的第一度量值,dref表示预设参考距离,di表示邻居节点i到所述目的节点d的欧式距离。

可选地,所述第一计算模块,具体用于根据所述每个邻居节点所在的地理区域信息,通过第二预设度量函数计算所述每个邻居节点对应的第二度量值;其中,所述第二预设度量函数的表达式为:

其中,u2,i表示邻居节点i对应的第二度量值,表示邻居节点i所在地理区域和所述车辆节点s所在地理区域的距离。

可选地,所述第一计算模块,具体用于根据所述每个邻居节点对应的信干噪比,通过第三预设度量函数计算所述每个邻居节点对应的第三度量值;其中,所述第三预设度量函数的表达式为:

其中,u3,i表示邻居节点i对应的第三度量值,sref表示预设参考信干噪比,si表示邻居节点i对应的信干噪比。

可选地,所述第二计算模块,具体用于针对每一邻居节点,通过预设函数,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值;其中,所述预设函数为:

其中,表示邻居节点i的几何平均值,为邻居节点i对应的第一度量值,为邻居节点i对应的第二度量值,为邻居节点i对应的第三度量值,w1,w2,w3分别表示第一至第三度量值的权重。

第三方面,本发明实施例还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现如上第一方面所述的一种车联网的跨层路由方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上第一方面所述的一种车联网的跨层路由方法步骤。

第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上第一方面所述的一种车联网的跨层路由方法步骤。

本发明实施例中,基于车辆的地理位置分配时频资源,使得车辆间的干扰受到车辆所处地理位置的约束。在进行路由选择时,以车辆所在的地理区域作为度量,使得选择下一跳节点时可以减小干扰的影响,从而提高了路由选择的稳定性;另外,还考虑了车辆到目的节点的距离和车辆对应的信干噪比这两种度量,来提高数据包的到达率,从而也提高了路由选择的稳定性。因而,本实施例通过以上三种度量对车辆进行综合评价,来选择出下一跳节点,可以提高车联网中路由选择的稳定性。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种车联网的跨层路由方法的流程图;

图2a为本发明实施例中的地理区域划分示意图;

图2b为本发明实施例中的时频资源划分示意图;

图2c为本发明实施例提供的一种车联网的跨层路由方法的另一流程图;

图3为本发明实施例提供的一种车联网的跨层路由装置的结构图;

图4为本发明实施例提供的一种车联网的跨层路由装置的另一结构图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了提高车联网中路由选择的稳定性,本发明实施例提供了一种车联网的跨层路由方法、装置及电子设备。

需要说明的是,本发明实施例提供的一种车联网的跨层路由方法应用于车联网中的车辆节点。这里的车辆节点是指:车联网中需要发送/转发数据包的车辆节点。而且本发明实施例中,车联网中不同地理区域的车辆节点使用不同的时频资源发送数据包,这样,使得车辆间的干扰受到车辆所处地理位置的约束。也就是说,车辆间是否有干扰及干扰有多大时,会受到车辆所处的地理位置的影响。这种使车辆间的干扰受到车辆所处地理位置的约束的方式,使得接收节点在接收其他地理区域的发送节点发送的数据时,与该接收节点所在地理区域的其他各个节点的数据收发过程不存在干扰。为不同地理区域的车辆节点分配不同的时频资源的方式将在下文中详细介绍。

下面首先对本发明实施例所提供的一种车联网的跨层路由方法进行介绍。

如图1所示,本发明实施例提供的一种车联网的跨层路由方法,可以包括如下步骤:

s101,获取待发送的目标数据包。

车联网中的各车辆节点之间的通信,通常可以通过发送/接收数据包的形式来实现。对于任一车辆节点来说,目标数据包可以是该车辆节点产生的数据包,也可以是该车辆节点接收到的其他车辆节点发送的数据包。

车辆节点获取到目标数据包后,可以确定出下一跳节点,并将目标数据包发送至该下一跳节点。根据实际情况的不同,该下一跳节点可能是目标数据包对应的目的节点,也可能是一个转发节点。

s102,从所存储的邻居节点列表中读取每个邻居节点的地理位置信息、每个邻居节点所在的地理区域信息,以及每个邻居节点对应的信干噪比。

为了便于确定出下一跳节点,车辆节点中可以存储一个邻居节点列表。车辆节点可以根据该邻居节点列表中记录的信息来比较各个邻居节点,以确定出下一跳节点。具体的,该邻居节点列表中记录有:每个邻居节点的地理位置信息、每个邻居节点所在的地理区域信息,以及每个邻居节点对应的信干噪比。其中,任一邻居节点的地理位置信息和地理区域信息为从该邻居节点发送的信标中提取的信息,任一邻居节点对应的信干噪比是车辆节点接收到该邻居节点发送的信标时的信干噪比。

可以理解,为了实现车辆之间的通信,每一车辆节点都可以周期性地向周围广播包含自身信息的信标。信标具体可以是hello数据包。任一车辆节点的自身信息可以包括:该车辆节点的id(identity,身份标识)、该车辆节点的地理位置信息,以及该车辆节点所在的地理区域信息等。当车辆节点接收到某个其他车辆节点广播的信标后,可以将广播该信标的车辆节点作为一个邻居节点,并将接收到的信标中的信息提取出来,记录在邻居节点列表中。在实际情形中,当车辆节点在道路上行驶时,道路两侧可以设置有rsu(roadsideunit,路侧单元),该rsu也可以周期性地广播包含自身信息的信标,且该rsu也可以接收/发送数据包,所以rsu也可以作为邻居节点。也就是说,某个邻居节点可能是一个车辆节点,也可能是一个rsu节点。

任一邻居节点的id,可以是该邻居节点的ip(internetprotocol,网络之间互连的协议)地址,也可以是其他可以唯一表示该邻居节点的标识。

任一邻居节点的地理位置信息,可以是该邻居节点的经度和纬度,也可以是该邻居节点在地面坐标系分别沿水平地面x轴和y轴的x坐标和y坐标。其中,地面坐标是:以地平面任一点为原点o,x轴指向地平面的任一方向,z轴垂直地平面向上,y轴按右手规则指向与x轴-z轴构成的平面垂直的方向。如果该邻居节点的地理位置信息是该邻居节点的经度和纬度,那么,车辆节点在提取了该邻居节点的经度和纬度后,可以将该邻居节点的经度和纬度转换为该邻居节点的x坐标和y坐标,记录在邻居节点列表中。任一邻居节点可以通过定位模块来获取自身的地理位置信息,例如可以通过gps(globalpositioningsystem,全球定位系统)模块获取自身的地理位置信息。也就是说,任一邻居节点的地理位置信息是从应用层获取的。

任一邻居节点所在的地理区域信息,是指:按照一个预定的划分规则,将车辆所行驶的道路场景划分为多个地理区域后,该邻居节点所在的地理区域的id。车辆节点在提取了该邻居节点所在的地理区域信息后,可以确定出该地理区域对应的时频资源。任一邻居节点可以从mac(mediaaccesscontrol,介质访问控制)层获取自身所在的地理区域信息。

任一邻居节点对应的信干噪比,是指:车辆节点接收到该邻居节点发送的信标时的信干噪比。具体的,车辆节点接收到任一邻居节点发送的信标后,可以从mac层获取接收该信标时的信干噪比。该邻居节点对应的信干噪比越大,表示该邻居节点越稳定。

由于任一邻居节点的地理位置是从应用层获取的,而该邻居节点所在的地理区域信息以及该邻居节点对应的信干噪比是从mac层获取的,因而,车辆节点是基于上述的通过跨层获取的信息来确定下一跳节点,也即,车辆节点确定下一跳节点的方式是跨层路由方式。

车辆节点存储邻居节点列表的过程将在下文中详细介绍。

s103,根据每个邻居节点的地理位置信息,计算每个邻居节点对应的第一度量值;根据每个邻居节点所在的地理区域信息,计算每个邻居节点对应的第二度量值;根据每个邻居节点对应的信干噪比,计算每个邻居节点对应的第三度量值。

车辆节点读取到每个邻居节点的地理位置信息、所在的地理区域信息和对应的信干噪比后,可以根据这三个信息对各个邻居节点进行比较,以确定出下一跳节点。具体的,可以分别根据每一邻居节点的地理位置信息、所在的地理区域信息和对应的信干噪比,计算该邻居节点对应的第一、第二以及第三度量值,来从不同的角度评价该邻居节点。进一步对每个邻居节点做出综合评价后,再进行比较。

一种实现方式中,步骤s103中的根据每个邻居节点的地理位置信息,计算每个邻居节点对应的第一度量值,可以包括:

根据每个邻居节点的地理位置信息,通过第一预设度量函数计算每个邻居节点对应的第一度量值;其中,第一预设度量函数的表达式为:

其中,u1,i表示邻居节点i对应的第一度量值,dref表示预设参考距离,di表示邻居节点i到目的节点d的欧式距离,其表达式为:

其中,xi和yi分别表示邻居节点i在地面坐标系中沿水平地面x轴和y轴的坐标,xd和yd分别表示所述目的节点d在地面坐标系中沿水平地面x轴和y轴的坐标。

上述目的节点是目标数据包对应的目的节点。上述预设参考距离dref可以是经验值。具体的,可以在由经验获得的数据包达到率与传播距离的对应关系中,将数据包到达率开始快速下降时的传播距离作为预设参考距离。根据实际场景的不同,该预设参考距离也可以不同。

为目标数据包选择路由是指:将目标数据包从源节点逐跳地发送到目的节点。为了减小传输失败的可能性,可以减少跳数。那么本实施例中,可以将各邻居节点到目的节点的距离作为一个度量来评价各邻居节点。从上述第一预设度量函数的表达式中可以看出:邻居节点i到目的节点d的欧式距离越短,则邻居节点i对应的第一度量值就越大,邻居节点i就越容易被选中作为下一跳节点。本实施例中,第一预设度量函数采用负指数函数,可以大幅度地减少那些不稳定的邻居节点的第一度量值,也就是说,稳定的邻居节点的第一度量值要明显高于其他邻居节点。那么通过计算每个邻居节点对应的第一度量值就可以着重标示出那些稳定的邻居节点,这些稳定的邻居节点更有可能成为下一跳节点。

一种实现方式中,步骤s103中的根据每个邻居节点所在的地理区域信息,计算每个邻居节点对应的第二度量值,可以包括:

根据每个邻居节点所在的地理区域信息,通过第二预设度量函数计算每个邻居节点对应的第二度量值;其中,第二预设度量函数的表达式为:

其中,u2,i表示邻居节点i对应的第二度量值,表示邻居节点i所在地理区域和车辆节点s所在地理区域的距离,其表达式为:

其中,lz表示每个地理区域的长度,zi表示邻居节点i所在地理区域的id,zs表示所述车辆节点s所在地理区域的id。

本实施例中,每个车辆节点的位置都会被划分至某一个地理区域,不同的地理区域可以使用不同的时频资源,这里,也可以将该过程称为:基于地理位置的时频资源分配。也就是说,被划分至某个地理区域的车辆可以使用该地理区域对应的时频资源来发送数据包。那么本实施例中,可以将各邻居节点到车辆节点的距离作为一个度量来评价各邻居节点,这个度量可以描述任一邻居节点作为下一跳节点时,在传输过程中受到的干扰影响的大小。为了确定出基于车辆节点所在的地理区域的度量的形式,发明人通过仿真实验获得了在基于地理位置的时频资源分配过程中,一跳传输的增益分布情况。在仿真实验中,设定每个地理区域的长度均为lz。从仿真结果中发现:在收发车辆节点的距离为lz时,即收发车辆节点的距离是地理区域长度的附近时,可以达到增益的顶峰,这说明在跨地理区域传输中,发送节点和接收节点周围的节点采用不同的时频资源,减少了传输过程中受到的干扰影响。这里,接收节点周围的节点是指与接收节点同区域的,在接收节点的周围的节点。

从上述第二预设度量函数的表达式中可以看出:邻居节点i所在的地理区域离车辆节点s所在的地理区域越近,车辆节点s对应的第二度量值越大,该邻居节点i越容易被选中作为下一跳节点,这也使得单跳的到达率更高。

上述给出了通过邻居节点和车辆节点所在的地理区域的id,计算邻居节点所在地理区域和车辆节点所在地理区域的距离的方式。在实际应用中,还可以采用其他方式计算邻居节点所在地理区域和车辆节点所在地理区域的距离,本发明对此不限定。

一种实现方式中,步骤s103中的根据每个邻居节点对应的信干噪比,计算每个邻居节点对应的第三度量值,可以包括:

根据每个邻居节点对应的信干噪比,通过第三预设度量函数计算每个邻居节点对应的第三度量值;其中,第三预设度量函数的表达式为:

其中,u3,i表示邻居节点i对应的第三度量值,sref表示预设参考信干噪比,si表示邻居节点i对应的信干噪比。

上述预设参考信干噪比可以是经验值。根据实际场景的不同,该预设参考信干噪比也可以不同。

为了保证下一跳节点的稳定性,可以检验各邻居节点是否处于传播范围的边缘或者干扰严重的区域。处于传播范围的边缘的任一邻居节点很有可能由于车辆节点与该邻居节点之间其他车辆的相互运动而超出单跳的传播范围,从而使得数据包无法到达。而处于干扰严重的区域的邻居节点很有可能因为干扰的原因无法成功接收到数据包。为了避免这两类邻居节点成为下一跳节点,可以将各邻居节点对应的信干噪比作为一个度量来评价各邻居节点。

从上述第三预设度量函数的表达式中可以看出:邻居节点i对应的信干噪比越大,表示该邻居节点i就越稳定,也就越容易被选中作为下一跳节点。

计算出每个邻居节点对应的第一至第三度量值后,可以进一步对每个邻居节点做出综合评价。

s104,针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值。

上述三种度量方式从不同的角度度量了每个邻居节点,为了便于比较各邻居节点,从各邻居节点中选出最可靠的节点作为下一跳节点,可以基于每一邻居节点的第一至第三度量值对该邻居节点进行综合评价。

一种实现方式中,步骤s104中的针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值,可以包括:

针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,并将计算得到的几何平均值作为该邻居节点对应的综合度量值。

在实际应用中,除了上述实现方式,还可以通过其他方式确定每一邻居节点对应的综合度量值,例如,针对每一邻居节点,对该邻居节点对应的第一度量值、第二度量值和第三度量值进行简单的加权,求取加权平均值,将加权平均值确定为该邻居节点对应的综合度量值。本发明对此并不限定。

一种具体实现方式中,上述的针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,可以包括:

针对每一邻居节点,通过预设函数,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值;其中,预设函数为:

其中,表示邻居节点i的几何平均值,为邻居节点i对应的第一度量值,为邻居节点i对应的第二度量值,为邻居节点i对应的第三度量值,w1,w2,w3分别表示第一至第三度量值的权重。

上述第一至第三度量值的权重可以根据实际需要进行设定。本发明对此并不限定。

本实施例中,所有度量都采用同底的指数函数,而且采用了几何平均值的结合方式,使得所计算的几何平均值不容易受到极值的影响。通过计算三个度量值的几何平均值,使得三个度量都充分得到了考虑,也就使得选择的下一跳节点的综合性能更好。

为了更直观地体现邻居节点i的几何平均值的构成,可以基于步骤s103中计算邻居节点i对应的第一至第三度量值的实现方式,将进行变换:

通过上述变换可以直观地看出:可以通过调整各个度量值的权重,来调整各个度量在选择下一跳节点的过程中所占的比例,以适应不同的实际场景。

s105,将对应最大综合度量值的邻居节点确定为目标节点,并计算目标节点到目的节点的第一距离以及车辆节点到目的节点的第二距离。

计算出每个邻居节点的综合度量值后,可以将对应最大综合度量值的邻居节点确定为目标节点。若有多个邻居节点都对应最大综合度量值,则可以随机选择其中一个作为目标节点。

确定出目标节点后,可以将目标节点与车辆节点进行对比。具体的,可以比较目标节点到目的节点的第一距离与车辆节点到目的节点的第二距离。这里,目的节点是目标数据包对应的目的节点。在实际应用中,虽然目标节点是邻居节点中最适合作为下一跳节点的节点,但是若目标节点比车辆节点距离目的节点更远,那么通过目标节点来传输目标数据包,使得传输距离更远,这时,可以采用其他方式来传输目标数据包。

上述第一距离和第二距离均可以是欧式距离。

s106,若第一距离不大于第二距离,通过车辆节点占用的时频资源将目标数据包发送至目标节点,否则,采用边缘转发方式,通过车辆节点占用的时频资源将目标数据包发送至目的节点。

若目标节点比车辆节点距离目的节点更近或目标节点与车辆节点到目的节点的距离相同,那么目标节点就是最理想的接收节点,可以直接将目标节点作为下一跳节点。车辆节点可以通过所占用的时频资源将目标数据包发送至目标节点,实现目标数据包的一跳传输。

若目标节点比车辆节点距离目的节点更远,可以采用边缘转发方式,通过车辆节点占用的时频资源将目标数据包发送至目的节点。其中,边缘转发属于现有技术,本发明在此不进行赘述。

本发明实施例提供的方案,基于车辆的地理位置分配时频资源,使得车辆间的干扰受到车辆所处地理位置的约束。在进行路由选择时,以车辆所在的地理区域作为度量,使得选择下一跳节点时可以减小干扰的影响,从而提高了路由选择的稳定性;另外,还考虑了车辆到目的节点的距离和车辆对应的信干噪比这两种度量,来提高数据包的到达率,从而也提高了路由选择的稳定性。因而,本实施例通过以上三种度量对车辆进行综合评价,来选择出下一跳节点,可以提高车联网中路由选择的稳定性。

下面介绍为不同地理区域的车辆节点分配不同的时频资源的方式。该方式可以包括如下步骤:

s11,将道路场景划分为不同的地理区域。

可以沿道路的长度方向将道路场景划分为多个地理区域,如图2a所示,每个地理区域的宽度可以为道路的宽度,每个地理区域的长度可以为相同或不同的设定长度。各个地理区域是紧密相连的。

划分出多个地理区域后,可以为每个地理区域编号,确定每个地理区域的id。相邻的地理区域的id可以是连续的编号。如图2a所示,地理区域的id可以是:区域1,区域2,…,等。

s12,将全部可用的时频资源作为资源池;按照预设方法将该资源池划分为不同的资源块,不同的资源块对应不同的时频资源。

预设方法可以是:时分方法、频分方法或时分-频分方法等。如图2b所示,采用时分方法将资源池划分为多个资源块,每个资源块在频域上均可以使用全部的可用频段,每个资源块在时域上使用一段连续的时隙。具体在划分资源块时,可以根据不同地理区域的负载来确定出不同资源块的大小。

划分出多个资源块后,可以为每个资源块编号,确定出每个资源块的id。相邻的资源块的id可以是连续的编号。如图2b所示,资源块的id可以是:资源块1,资源块2,…,等。

s13,将不同的地理区域映射到不同的资源块上,使得每个地理区域占用一个资源块,相邻地理区域占用不同的资源块。

例如,在图2a和图2b中,区域1占用资源块1,区域2占用资源块2。

确定出每个地理区域占用的资源块,即确定出了每个地理区域对应的时频资源。当某一地理区域内的车辆需要发送数据包时,该车辆可以先确定出自身所在的地理区域,然后通过该地理区域对应的时频资源来发送数据包。相邻地理区域对应的时频资源不同,那么相邻区域的不同车辆节点在发送数据包时,受到彼此的干扰的影响会降低。

下面介绍车辆节点存储邻居节点列表的过程。在图1所示实施例的基础上,如图2c所示,还可以包括如下步骤:

s201,当车辆节点接收到车联网中任一邻居节点发送的信标后,从当前的信标中提取目标邻居节点的id、地理位置信息和所在的地理区域信息。

为了实现车辆之间的通信,每一车辆节点都可以周期性地向周围广播包含自身信息的信标。信标具体可以是hello数据包。任一车辆节点的自身信息可以包括:该车辆节点的id(identity,身份标识)、该车辆节点的地理位置信息,以及该车辆节点所在的地理区域信息等。

每一车辆节点广播信标的周期对路由选择也有影响。广播周期越小,其他车辆节点获取的邻居节点的信息的时效性就更好,在确定下一跳节点时所利用的信息就越准确。但是,若广播周期过于小,网络中的数据量过于大,会增加数据间的冲突和干扰。本实施例中,可以将广播周期设置为[0.5s,1.5s]内的一个随机值。

车联网中的每一车辆节点都可以不断地在全时频上接收其他车辆节点发送的信标。当车辆节点接收到车联网中任一邻居节点发送的信标后,可以从当前的信标中提取目标邻居节点的id、地理位置信息和所在的地理区域信息。这里,目标邻居节点为发送当前的信标的邻居节点。

s202,从mac层获取接收当前的信标时的信干噪比。

在接收到目标邻居节点发送的当期的信标后,车辆节点可以从mac层获取接收当前的信标时的信干噪比。该信干噪比可以用来度量目标邻居节点的稳定性。

s203,以目标邻居节点的地理位置信息、所在的地理区域信息以及所获取的信干噪比构成目标邻居节点的当前目标信息。

s204,以目标邻居节点的id,在邻居节点列表中搜索目标邻居节点的节点条目。

在车辆节点中,可以建立一个邻居节点列表。如果车辆接收过某个邻居节点的信标,可以在该邻居节点列表中建立有该邻居节点的节点条目,在该节点条目中存储该邻居节点的相关信息。

本实施例中,车辆节点接收到目标邻居节点的信标后,可以以该目标邻居节点的id,在邻居节点列表中搜索该目标邻居节点的节点条目,以判断邻居节点列中是否存在该目标邻居节点的节点条目。

s205,若未搜索到,将包含目标邻居节点的id和当前目标信息的目标邻居节点的节点条目,增加至邻居节点列表中。

若车辆节点在邻居节点列表中未搜索到目标邻居节点的节点条目,说明截止当前时刻,邻居节点列表中不存在该目标邻居节点的任何信息,那么,可以将包含目标邻居节点的id和当前目标信息的目标邻居节点的节点条目,增加至邻居节点列表中。这样,在车辆节点需要选择下一跳节点时,该目标邻居节点就可以作为一个备选节点。

s206,若搜索到,将目标邻居节点的节点条目中的原目标信息更新为当前目标信息。

若车辆节点在邻居节点列表中搜索到目标邻居节点的节点条目,说明在当前时刻之前,邻居节点列表中存在该目标邻居节点的原目标信息。可以理解,目标邻居节点的地理位置和地理区域等在行驶过程中会发生变化,所以车辆节点接收到的目标邻居节点发送的信标中,包含了该目标邻居节点的最新的地理位置和地理区域等,那么车辆节点可以将目标邻居节点的节点条目中的原目标信息更新为当前目标信息。这样,车辆节点就可以利用目标邻居节点的最新的信息对该目标邻居节点进行度量。

一种实现方式中,在图2c所示实施例的基础上,邻居节点列表中的任一邻居节点的节点条目中还记录有:车辆节点接收到该邻居节点发送的信标的时刻;方法还包括:

按预设间隔周期性地检测邻居节点列表中每个邻居节点的节点条目的存储时长;其中,任一邻居节点的节点条目的存储时长是:接收到该邻居节点发送的信标的时刻到当前周期起始时刻的时长;

将存储时长超过预设时长的邻居节点的节点条目从邻居节点列表中删除。

可以理解,在邻居节点列表中,若任一邻居节点的节点条目的存储时长太长,说明车辆节点有较长的时间未接收到该邻居节点的信标,也就是说,有较长的时间未更新该邻居节点的相关信息。这时,该邻居节点可能已经超出了与车辆节点的通信范围,那么可以将邻居节点列表中,该邻居节点的节点条目删除。预设时长可以根据实际需要进行设定。

相应于上述方法实施例,本发明实施例提供了一种车联网的跨层路由装置,应用于车联网中的车辆节点,所述车联网中不同地理区域的车辆节点使用不同的时频资源发送数据包,如图3所示,所述装置可以包括:

第一获取模块301,用于获取待发送的目标数据包;

读取模块302,用于从所存储的邻居节点列表中读取每个邻居节点的地理位置信息、所述每个邻居节点所在的地理区域信息,以及所述每个邻居节点对应的信干噪比;其中,任一邻居节点的地理位置信息和地理区域信息为从该邻居节点发送的信标中提取的信息,任一邻居节点对应的信干噪比是所述车辆节点接收到该邻居节点发送的信标时的信干噪比;

第一计算模块303,用于根据所述每个邻居节点的地理位置信息,计算所述每个邻居节点对应的第一度量值;根据所述每个邻居节点所在的地理区域信息,计算所述每个邻居节点对应的第二度量值;根据所述每个邻居节点对应的信干噪比,计算所述每个邻居节点对应的第三度量值;

第二计算模块304,用于针对每一邻居节点,基于该邻居节点对应的第一度量值、第二度量值和第三度量值,确定该邻居节点对应的综合度量值;

确定模块305,用于将对应最大综合度量值的邻居节点确定为目标节点,并计算所述目标节点到目的节点的第一距离以及所述车辆节点到所述目的节点的第二距离;其中,所述目的节点是所述目标数据包对应的目的节点;

处理模块306,用于若第一距离不大于第二距离,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目标节点,否则,采用边缘转发方式,通过所述车辆节点占用的时频资源将所述目标数据包发送至所述目的节点。

本发明实施例提供的方案,基于车辆的地理位置分配时频资源,使得车辆间的干扰受到车辆所处地理位置的约束。在进行路由选择时,以车辆所在的地理区域作为度量,使得选择下一跳节点时可以减小干扰的影响,从而提高了路由选择的稳定性;另外,还考虑了车辆到目的节点的距离和车辆对应的信干噪比这两种度量,来提高数据包的到达率,从而也提高了路由选择的稳定性。因而,本实施例通过以上三种度量对车辆进行综合评价,来选择出下一跳节点,可以提高车联网中路由选择的稳定性。

可选地,所述第二计算模块304,具体可以用于针对每一邻居节点,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值,并将计算得到的几何平均值作为该邻居节点对应的综合度量值。

更进一步地,在图3所示实施例的基础上,如图4所示,本发明实施例所提供的一种车联网的跨层路由装置,还可以包括:

提取模块401,用于当所述车辆节点接收到所述车联网中任一邻居节点发送的信标后,从当前的信标中提取目标邻居节点的id、地理位置信息和所在的地理区域信息;其中,所述目标邻居节点为发送当前的信标的邻居节点;

第二获取模块402,从mac层获取接收当前的信标时的信干噪比;

构建模块403,用于以所述目标邻居节点的地理位置信息、所在的地理区域信息以及所获取的信干噪比构成所述目标邻居节点的当前目标信息;

搜索模块404,用于以所述目标邻居节点的id,在所述邻居节点列表中搜索所述目标邻居节点的节点条目;

建立模块405,用于若未搜索到,将包含所述目标邻居节点的id和当前目标信息的所述目标邻居节点的节点条目,增加至所述邻居节点列表中;

更新模块406,用于若搜索到,将所述目标邻居节点的节点条目中的原目标信息更新为当前目标信息。

通过图4所示实施例,车辆节点在接收到任一邻居节点发送的信标后,可以根据该信标,在邻居节点列表中增加或更新该邻居节点的节点条目,以便于车辆节点利用邻居节点列表中每个邻居节点的节点条目中的目标信息,进行路由选择。

更进一步地,在图4所示实施例的基础上,所述邻居节点列表中的任一邻居节点的节点条目中还记录有:所述车辆节点接收到该邻居节点发送的信标的时刻;本发明实施例所提供的一种车联网的跨层路由装置,还可以包括:

检测模块(图中未示出),按预设间隔周期性地检测所述邻居节点列表中每个邻居节点的节点条目的存储时长;其中,任一邻居节点的节点条目的存储时长是:接收到该邻居节点发送的信标的时刻到当前周期起始时刻的时长;

删除模块(图中未示出),将存储时长超过预设时长的邻居节点的节点条目从所述邻居节点列表中删除。

可选地,所述第一计算模块303,具体可以用于根据所述每个邻居节点的地理位置信息,通过第一预设度量函数计算所述每个邻居节点对应的第一度量值;其中,所述第一预设度量函数的表达式为:

其中,u1,i表示邻居节点i对应的第一度量值,dref表示预设参考距离,di表示邻居节点i到所述目的节点d的欧式距离。

可选地,所述第一计算模块303,具体可以用于根据所述每个邻居节点所在的地理区域信息,通过第二预设度量函数计算所述每个邻居节点对应的第二度量值;其中,所述第二预设度量函数的表达式为:

其中,u2,i表示邻居节点i对应的第二度量值,表示邻居节点i所在地理区域和所述车辆节点s所在地理区域的距离。

可选地,所述第一计算模块303,具体可以用于根据所述每个邻居节点对应的信干噪比,通过第三预设度量函数计算所述每个邻居节点对应的第三度量值;其中,所述第三预设度量函数的表达式为:

其中,u3,i表示邻居节点i对应的第三度量值,sref表示预设参考信干噪比,si表示邻居节点i对应的信干噪比。

可选地,所述第二计算模块304,具体可以用于针对每一邻居节点,通过预设函数,计算该邻居节点对应的第一度量值、第二度量值和第三度量值的几何平均值;其中,所述预设函数为:

其中,表示邻居节点i的几何平均值,为邻居节点i对应的第一度量值,为邻居节点i对应的第二度量值,为邻居节点i对应的第三度量值,w1,w2,w3分别表示第一至第三度量值的权重。

另外,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现上述实施例中任一的车联网的跨层路由方法。

本发明实施例提供的方案,基于车辆的地理位置分配时频资源,使得车辆间的干扰受到车辆所处地理位置的约束。处理器通过执行存储器上所存放的程序时,在进行路由选择时,以车辆所在的地理区域作为度量,使得选择下一跳节点时可以减小干扰的影响,从而提高了路由选择的稳定性;另外,还考虑了车辆到目的节点的距离和车辆对应的信干噪比这两种度量,来提高数据包的到达率,从而也提高了路由选择的稳定性。因而,本实施例通过以上三种度量对车辆进行综合评价,来选择出下一跳节点,可以提高车联网中路由选择的稳定性。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的车联网的跨层路由方法,以获得相同的技术效果。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的车联网的跨层路由方法,以获得相同的技术效果。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1