首页> 中国专利> 一种基于社会网络的车载自组织网络路由方法

一种基于社会网络的车载自组织网络路由方法

摘要

本发明公开了一种基于社会网络的车载自组织网络路由方法,属于车载无线网络技术领域。该方法包括:(1)利用邻居节点信息计算节点的方向角度和效用值;(2)路段上的节点采用加入缓存机制的贪婪算法,路口节点选择在角度阈值范围内效用值最大且大于当前节点效用值的邻居节点作为下一跳转发中继;(3)通过Q学习算法辅助路由算法,使车辆节点从自身历史转发动作中学习,节点将选择使奖励函数取得最大收敛值的邻居节点作为下一跳转发器。本方法减小了路由算法的复杂度,降低了系统开销,同时利用Q学习算法辅助路由选择,使数据分组沿着具有最小跳数的路径传输,从而减小了时延;提高了数据分组的投递率,减小了端到端时延和系统资源的消耗。

著录项

  • 公开/公告号CN103702387A

    专利类型发明专利

  • 公开/公告日2014-04-02

    原文格式PDF

  • 申请/专利权人 重庆邮电大学;

    申请/专利号CN201410008349.X

  • 发明设计人 唐伦;古晓琴;陈前斌;

    申请日2014-01-08

  • 分类号H04W40/20(20090101);H04W40/24(20090101);

  • 代理机构11275 北京同恒源知识产权代理有限公司;

  • 代理人赵荣之

  • 地址 400065 重庆市南岸区黄桷垭崇文路2号

  • 入库时间 2024-02-19 23:19:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    授权

    授权

  • 2014-04-30

    实质审查的生效 IPC(主分类):H04W40/20 申请日:20140108

    实质审查的生效

  • 2014-04-02

    公开

    公开

说明书

技术领域

本发明属于车载无线网络技术领域,涉及一种基于社会网络的车载自组织网络路由方法。

背景技术

延迟容忍网络(Delay Tolerant Networks以下简称DTNs)中,从源到目的地通常不存 在端到端的稳定路径,网络经常处于间断连接的状态。而车载自组织网络(Vehicular Ad Hoc  Networks以下简称VANETs)作为DTNs的一种典型范例,由于各种无线设备(例如,手机, GPS设备)快速普及和广泛使用,近年来引起了越来越多的关注。社会网络分析致力于研究 社会实体之间的关系、模式以及这些关系的应用,利用节点之间的社会关系选择合适的下一 跳节点进行消息转发,能建立一个更加可靠的路由机制。在VANETs中,在利用网络基础设施 或端到端的连接的同时,也可以利用社会关系,使车辆之间也能够实现相互通信,且能实现 车辆与路边设施相互通信,进而获取网络服务。尽管如此,间断和不确定的连接使VANETs中 的数据传输仍然是一个十分具有挑战性的问题。因此,充分利用地理信息和车辆之间的社会 关系,设计适用于车载自组织网络的DTN路由也成为路由协议研究的一个热点问题。

在车载自组织网中,若当前时刻不存在一条到目的地的路径,传统的路由协议在这种情 况下将丢弃分组,而机会路由则使用延时容忍转发策略传输数据分组,车载自组织网络中典 型的DTN路由包括VADD、SADV、MaxProp、STDFS等。在车载自组织网中,还常利用地 理信息和社会关系进行路由选择,常见的地理路由包括GPSR、GPCR等,而利用社会网络的路 由协议包括Label、SimBet、BubbleRap等。

车载自组织网络中DTN路由协议的目的是为了减小数据分组的丢失,提高路由协议端到 端的可靠性。而如何高效利用地理信息和社会关系使节点在进行下一跳转发器选择,使数据 分组能够沿着更加可靠的路径快速传输到目的地,增加投递率并降低时延和系统开销是一个 新的挑战和机遇。

发明内容

有鉴于此,本发明的目的在于提供一种基于社会网络的车载自组织网络路由方法,在路 口选择效用值较高的邻居节点作为下一跳转发器,同时利用Q学习算法辅助路由选择,从而 减小路由的时延和跳数,提高数据分组的投递率。

为达到上述目的,本发明提供如下技术方案:

一种基于社会网络的车载自组织网络路由方法,该路由方法包括以下步骤:步骤一:节 点通过GPS定位系统和hello消息包获取节点信息,并计算节点的方向角度θ和两个社会性 的效用指标:中心度Bet和活跃度Act,其中邻居节点的方向角度θ利用余弦定理求得,节点 的中介中心度Bet利用自我网络的概念求得,节点活跃度Act通过统计时间周期T内邻居节点 的变化情况求得;步骤二:将节点中心度Bet和活跃度Act加权求和计算得到节点的综合效用 值U,其中在活跃度基础上考虑了速度因素,避免把数据分组传输给速度较小的车辆节点;

步骤三:路段节点工作在直路模式,采用改进的GPSR路由算法,即加入缓存机制的贪婪转发; 路口节点工作在路口模式,路口节点将选择方向角度在角度阈值范围内效用值最高且高于当 前节点效用值的邻居节点作为下一跳转发节点;步骤四:采用基于历史转发动作的Q学习算 法辅助路由选择,将路由问题映射成强化学习框架中的状态空间,在学习过程中,根据收敛 后的Q值,选择最佳的转发动作。

进一步,在步骤一中,VANETs假设每辆车都配置了GPS导航系统,可以获得网络中车辆 节点的位置、方向和速度等基本信息,车辆节点通过周期性地发送Hello消息包来构建和更 新邻居列表,该邻居列表用于记录一跳范围内的节点信息。根据当前节点M、邻居节点N和 目的节点D的坐标,利用余弦定理计算方向角度NMD=arccos(|MN|2+|MD|2-|ND|22×|MN|×|MD|),其中|MN|、|MD|和|ND|分别代表节点间的欧几里得距离,用公式求得,X1、X2、Y1、Y2为节点的横、纵坐标。本发明的中心度采用中介中心度,中介中心 度指的是节点与网络中其他节点的路径连通程度,其定义如下:

CB(i)=Σj=1NΣk=1j-1gjk(i)gik

其中gjk是节点j和k之间的路径总数,gjk(pi)是这些路径中包含i的路径数量。具有高中 介中心度的节点可以促进与之连接的节点间的交互活动,中介中心度在VANETs中被看作促进 网络中其他节点间通信的能力。在VANETs中,可以利用自我网络的概念计算中介中心度,自 我网络可以看成这样一个网络,它包括单一的中心节点、所有与这个中心节点有连接的外围 节点,以及这些外围节点构成的连接,利用自我网络可以局部分析个别节点,而不需要完整 的全网拓扑知识。车辆节点间的接触可以表示为一个n×n阶的对称相邻矩阵A,其中n为给 定车辆节点与其他车辆节点的相遇次数。该对称矩阵的元素Aij为:

若车辆节点i进入j的传输范围,则车辆节点j也在i的传输范围内,即车辆节点间的 连接是双向的。中介中心度通过计算经由自我节点进行间接连接的节点数量得到,自我节点 的中介中心度是A'中元素的倒数之和,其中A'=A2[1-A]i,j,i,j分别为矩阵的行和列。因 此,车辆节点的中介效用值为:

Bet=Σ1Ai,j

VANETs拓扑动态变化也使车辆节点的邻居变化频繁,车辆节点i在时间段T内的节点活跃度 可用下式计算:

Acti=1-|Ni(t+T)Ni(t)||Ni(t+T)Ni(t)|

其中,Ni(t)是车辆节点i在时刻t的邻居节点集合,Ni(t+T)是车辆节点i在时刻t+T 的邻居节点集合。活跃度能及时反映网络拓扑的动态变化,Acti的值越大,说明车辆节点i 的邻居节点变化比较频繁,进而能与更多的邻居节点相遇,从而增加了数据分组的转发概率。 因此数据分组的转发将选择活跃度大的车辆节点作为中继,以增加分组投递率。

进一步,在步骤二中,分别对节点的效用指标(包括中心度,活跃度)进行建模计算, 并加权求和得到综合效用值,因此节点m的综合效用值可用下式确定:

U=αBetm+βVmActmVmax

其中α、β是权重因子,α+β=1,Vm是节点m的速度,Vmax是网络中节点的最大运动 速度。由于车联网中仅考虑节点邻居变化情况不够,车速越慢和越快的车辆活跃度都很大, 为了防止把数据分组传输给速度较小的车辆,在活跃度基础上加上速度因素,选择速度较大 和邻居变化频繁的节点更加有利于数据分组快速高效的传输。

进一步,在步骤三中,节点根据GPS导航系统和电子地图判定自身的节点类型:路口节 点、路段节点;节点通过以下步骤发送数据包:

1)若将要发送数据的节点是路口节点,则按路口模式转发数据分组;若为路段节点,则按直 路模式工作;

2)直路模式:在直路模式下,节点采用加入缓存机制的贪婪转发方式,即节点采用贪婪算法 寻找下一跳转发节点,该转发节点在当前节点所有邻居节点中距离目的节点最近;若当前节 点所有邻居节点到目的节点的距离都比当前节点到目的节点的距离远,则数据分组将由当前 节点缓存,当前节点携带数据分组向前运动,直到遇到下一个贪婪节点;

3)路口模式:

31)路口节点按步骤2计算当前时刻本节点U值,提取数据分组中的目的地信息,遍历邻居 列表,按步骤1计算邻居节点的方向角度,从方向角度在规定角度阈值范围内的邻居节点中 查找确定近期是否有到相同目的地且效用值U大于当前节点的邻居节点,如果存在这样的邻 居节点,则将数据分组发送到具有最大效用值U的邻居节点;如果具有最大效用值U的节点 为本节点,则将数据分组放入对应目的地地址的缓存表中,并进入步骤32);

32)提取数据分组中的目的地地址,生成一个包含该地址的RREQ(路由请求消息)分组,并 周期性地广播RREQ;

33)单跳邻居车辆接收到RREQ,每隔5秒取一次中心度和活跃度,并统计5此的平均值,设 置α,β的值,调整U,使其最大,并将包含U值的路由回复消息RREP返回给本车;

34)节点接收到RREP消息后,提取RREP中的“目的地地址,U,邻居节点地址”对,对于每 一个目的地地址,建立一个本地列表,在新建立的邻居表项的时候,同时启动一个定时器, 定时器到期的路由表项将被删除,按步骤31)的方式检查邻居列表,决定是发送数据分组到 具有最大U的邻居,还是启动RREQ过程;

4)数据包在道路拓扑上根据携带数据的节点位置使用对应的模式,直到传输至目的或者因到 期而丢弃。

进一步,在步骤四中,采用基于历史转发动作的Q学习算法辅助路由选择,将路由问题 映射成强化学习框架中的状态空间,在VANETs中,将整个网络看成是一个系统,系统状态根 据节点是否持有数据分组来定义。对于一个特定的源─目的地对,令s是持有数据分组的节 点状态。例如,在节点数为n的网络中,当节点S1有数据分组时,与数据分组相关系统状态 是S1,as'是一个节点转发数据分组到节点s'的动作,所有状态和动作组成了状态集S和动作 集A,系统状态仅在数据分组从一个节点转发到另一个状态时才改变。在对数据分组历史转 发路径的学习过程中,节点根据收敛后的Q值,选择最佳的转发动作,其关键假设是将车辆 节点和网络环境的交互看作一个Markov决策过程(MDP),以寻找一个策略以最大化将来获 得的奖励,用Qπ(s,a)代表在状态s下采用策略π通过转发动作a得到的奖励,其计算方法如 下:

Qπ(s,a)=Eπ{Rt|st=s,at=a}

=(rt+γΣst+1SPstst+1atVπ(st+1))|st=s,at=a

其中,rt为时刻t从状态st采取动作后的直接奖励,可用公式 求得;表示节点状态从St采取动作at转移到状态St+1的概率,代表 奖励函数,若转发成功,令奖励函数为:ξ是节点成功转发数据分组的一个常量 惩罚,ξ值为正,如果转发失败,令奖励函数为:ζ是节点转发数据分组失败的 一个常量惩罚,ζ值也为正;γ∈[0,1)是折扣因子,γ决定将来的奖励的重要性;Vπ(st+1)为 节点在策略π下状态st+1的值,代表节点能收到的期望总奖励。由此可以看出,奖励函数对Q 学习算法很重要,决定了节点的转发动作和路由性能,而采用Q学习算法辅助路由可以使车 辆节点从自身历史转发动作中学习,从而根据奖励函数采取最优的转发动作,使数据分组沿 着具有最小跳数的最优路径进行转发,使数据分组投递到目的地具有最大的奖励,最短的时 延,以节省系统资源并提高路由算法的性能。

本发明的有益效果在于:本发明所述路由方法利用节点的社会属性在路口基于效用进行 路由选择,同时采用Q学习算法辅助路由选择,在路段上节点利用加入缓存机制的贪婪算法 转发数据分组,在路口效用值的计算考虑中心度和活跃度(同时考虑速度因子)两个社会属 性,同时结合方向角度进行判断,以响应路由请求。效用转发使数据分组传输给网络中与目 的节点相遇可能性较大的节点,从而减少消息被转发的次数,使消息快速地到达目的节点, 同时考虑方向角度在阈值范围内的邻居节点才能成为下一跳候选转发集,可以避免消息的丢 失,同时减小了了网络的负载,避免了不必要的资源浪费,实现消息的有效传输和可靠投递, Q学习算法辅助路由选择,使数据沿着具有最小跳数的路径进行传输。由此可知,本发明可 以增加数据分组的投递率,降低时延和开销,减小网络负载。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为获取邻居信息的周期性HELLO消息报文格式;

图2为求方向角度示意图;

图3为求中心度示意图;

图4为求活跃度示意图;

图5为Q学习算法示意图;

图6为(算法英文缩写)路由算法流程图;

图7为路由方案示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明是一种车载自组织网中基于社会网络的路由方法,并采用Q学习算法辅助路由选 择,包括:

步骤1:节点通过GPS导航系统获取自身的位置信息,在路由过程中周期性地发送和接 收hello消息包进行信息交互。Hello消息包的格式如图1所示,其中,Bet表示节点的中心 度效用值,Act表示节点的活跃度效用值,θ表示节点的方向角度。

步骤2:车载自组织网络中移动节点根据GPS导航系统和电子地图确定在道路拓扑中的 节点状态,节点将自己的位置映射到电子地图上,判断自己的节点状态是路口节点或路段节 点。

步骤3:计算节点的方向角度,如图2所示:当前节点为节点I(xi,yi),目的节点为 D(xd,yd),节点M(xm,ym)和N(xn,yn)是节点I的两个邻居节点,则节点M和节点N的方向角 度分别为θMID,θNID,它们的值可以用余弦定理求得:

θMID=arccos(|MI|2+|DI|2-|MD|22×|MI|×|DI|)

其中,

|MI|=(xm-xi)2+(ym-yi)2

|DI|=(xd-xi)2+(yd-yi)2

|MD|=(xm-xd)2+(ym-yd)2

同理,可求得θNID。本发明设定了一个角度阈值θth,从图2可以看出θMID在角度阈值θth内, 而θNID在角度阈值θth范围外,因而节点M可以作为节点I的下一跳候选节点,而节点N不在 节点I的下一跳候选集中。

步骤4:计算节点的中心度效用值,车辆节点的中介中心度为A'中元素的倒数之和:

Bet=Σ1Ai,j

其中,A'=A2[1-A]i,j,A是一个表示车辆节点间接触的n×n阶的对称相邻矩阵,其元素Aij是:

在VANETs中,如图3所示,为了求得节点1的中介中心度,先求节点1的邻居矩阵。由 图可知,车辆节点1,2,3都在相互的无线传输范围内,车辆节点1,2,4也在相互的无线传输 范围内,车辆节点5在车辆节点4的传输范围内,但是不在节点1,2,3的传输范围内,节点 3和4也不在相互的传输范围内。因此,车辆节点1的邻居矩阵为:

G1=G1G2G3G4G1[0111]G2[1011]G3[1100]G4[1100]

由邻居矩阵G1可以得到矩阵

G1=G12[1-G1]i,j=***********2****

由于矩阵式对称的,所以只需考虑对角线以上的非零元素,因此G12[1-G1]的元素只剩 下2,从而得到中介中心度为1/2。

步骤5:计算节点的G12[1-G1]活跃度,节点在时间段T内的节点活跃度可用下式计算:

aUtili=1-|Ni(t+T)Ni(t)||Ni(t+T)Ni(t)|

其具体计算如图4所示,虚线圈表示T时刻前车辆节点i的邻居节点集合,实线圈表示 t+T时刻的邻居节点集合,由图可知,并集个数为10,交集个数为2,所以节点的活跃度为 1-2/10=8/10,邻居节点变化越频繁,并集越大,交集越小,节点的活跃度就越大。

步骤6:计算节点的综合效用值,节点m的综合效用值用下式确定:

U=αBetm+βVmActmVmax

其中,α、β是权重因子,α+β=1,Vm是节点m的速度,Vmax是网络中节点的最大运动 速度。由于车联网中仅考虑节点邻居变化情况不够,车速很慢和很快的车辆活跃度都很大, 为了防止把数据传给速度小的车辆,我们在活跃度基础上加上了速度因素,选择速度大和邻 居变化频繁的节点更能促进数据分组快速高效的传输。

步骤7:路由方法流程

(1)节点按步骤2所述方法更新节点状态,决定数据分组的传输方式,即 路口节点按路口模式转发数据分组,路段节点按直路模式工作。

(2)直路模式:在直路模式下,节点采用加入缓存机制的贪婪转发方式。

即节点采用贪婪算法寻找下一跳转发节点,该转发节点在当前节点所有邻居节点中距离目的 节点最近;若当前节点所有邻居节点到目的节点的距离都比当前节点到目的节点的距离远, 则数据分组将由当前节点缓存,当前节点携带数据分组向前运动,直到遇到下一个贪婪节点。

(3)路口模式:

i.路口节点按权利要求1步骤2计算当前时刻本节点U值,提取数据分组中的目的地信息, 遍历邻居列表,按权利要求1步骤2计算邻居节点的方向角度,从方向角度在规定角度阈值 范围内的邻居节点中查找确定近期是否有到相同目的地且且U大于当前节点的邻居节点,如 果存在这样的邻居节点,则将数据分组发送到具有最大U的邻居节点;如果具有最最大U的 节点为本节点,则将数据分组放入对应目的地地址的缓存表中,并进入步骤ii;

ii.提取数据分组中的目的地地址,生成一个包含该地址的RREQ(路由请求消息)分组,并 周期性地广播RREQ;

iii.单跳邻居车辆接收到RREQ,每隔5秒取一次中心度和活跃度,并统计5此的平均值, 设置α,β的值,调整U,使其最大,并将包含U值的RREP(路由回复消息)返回给本车;

iv.节点接收到RREP消息后,提取RREP中的(目的地地址,U,邻居节点地址)对,对于每 一个目的地地址,建立一个本地列表,在新建立的邻居表项的时候,同时启动一个定时器, 定时器到期的路由表项将被删除,按步骤i的方式检查邻居列表,决定是发送数据分组到具 有最大U的邻居,还是启动RREQ过程。

(4)数据包在道路拓扑上根据携带数据的节点位置使用对应的模式,直到传输至目的或 者因到期而丢弃。

步骤8:Q学习算法辅助路径选择,将路由问题映射成强化学习框架中的状态空间,在学 习过程中,根据收敛后的Q值,选择最优动作。Q值的计算方法如下:

Qπ(s,a)=Eπ{Rt|st=s,at=a}

=(rt+γΣst+1SPstst+1atVπ(st+1))|st=s,at=a

其中,rt为时刻t从状态st采取动作后的直接奖励,可用公式 求得;γ∈[0,1)是折扣因子,γ决定将来的奖励的重要性;表示节点状态 从St采取动作at转移到状态St+1的概率,代表奖励函数,若转发成功,令奖励函数为: ξ是节点成功转发数据分组的一个常量惩罚,ξ值为正,如果转发失败,令奖励 函数为:ζ是节点转发数据分组失败的一个常量惩罚,ζ值也为正;Vπ(st+1)为 节点在策略策略π下状态st+1的值,代表节点能收到的期望总奖励。

如图5(1)中所示的网络拓扑图,车辆节点1持有数据分组,它将转发给节点4,而节 点4不在节点1的传输范围内,但是它们拥有公共两个公共邻居节点(即节点2和节点3), 因而数据分组的传输存在两条可能路径,即s1→s2→s4或s1→s3→s4。下文将给出如何在这 两条可能路径中进行路径选择。令Q和V的初始值都为0,为了简化,令 γ=0.5,ξ=ζ=1,Psnsmam=1.

(1)节点1计算Q(s1,a2):Q(s1,a2)=rt+γ(Ps1s2a2V(s2)+Ps1s2a2V(s1))=-1,同理 Q(s1,a3)=-1,由于Q(s1,a2)=Q(s1,a3),节点1将随机选择节点2或节点3作为下一跳转发节 点。如果下一跳转发器为节点2,更新自身的V(s1)=maxaQ(s1,a)=-1,即图5(2)中的步 骤Ⅰ。

(2)节点2发现节点4是目的节点,则直接将数据分组发送给节点4,且更新它的V(s2), 如图5(2)中的步骤Ⅱ:

V(s2)=Q(s2,a4)=rt+γ(Ps2s4a4V(s4)+Ps2s2a4V(s2))=-1

(3)在发送第2个数据分组前,节点计算Q(s1,a2)和Q(s1,a3)。由于V(s3)没变,Q(s1,a3)仍 然为-1,但由于此时V(s1)=V(s2)=-1,发生了变化,因而Q(s1,a2)也发生了变化,更新为:

Q(s1,a2)=rt+γ(Ps1s2a2V(s2)+Ps1s2a2V(s1))=-1.5

由于Q(s1,a3)大于Q(s1,a2),第2个数据分组转发给节点3,如图5(2)中的步骤Ⅲ。

(4)节点3发现节点4是目的节点,则直接将数据分组发送给节点4,且更新它的V(s3)=-1, 如图5(2)中的步骤Ⅳ。

综上所述,目的节点s4的V值固定为0,节点s1的V值收敛为-1.5,而节点s2和节点s3的V值收敛为-1.0。由此可以看出每个节点的V值与自身到目的地的距离成比例,因而节点 可以利用收敛的V值来发现最佳路径(获得最大的奖励)。在上述算法实例中,V值收敛后, 两条可能路径中,节点2和节点3处于平等的拓扑位置,将以相同的概率被节点1选为下一 跳转发器。

在VANETs中,节点的移动性导致网络拓扑动态改变,应该建立新的收敛V值以适应新的 拓扑环境。如图5(3)所示,如果车辆节点1检测到与节点2之间的链路中断,则将转发数 据分组给节点3,并更新它的V值为:

V(s1)=Q(s1,a3)=rt+γ(Ps1s3a3V(s3)+Ps1s1a3V(s1))=-1.75

节点3发现节点4是目的节点,所以它将数据分组直接发送给节点4且更新它的V(s3):

V(s3)=Q(s3,a4)=rt+γ(Ps3s4a4V(s4)+Ps3s3a4V(s3))=-1

从另一方面考虑,节点3转发数据分组时,计算出Q(s3,a2)=-1.5,Q(s3,a1)=-1.5, Q(s3,a4)=-1,则节点3也将选择节点4作为下一跳转发器,且更新V(s3)=maxaQ(s3,a)=-1。

节点2作为目的节点4的一跳邻居节点,计算Q(s2,a4):

Q(s2,a4)=rt+γ(Ps2s4a4V(s4)+Ps2s2a4V(s2))=-1

综上所述,如图5(3)所示是拓扑改变后新的收敛值。目的节点s4的V值固定为0,节 点s1的V值收敛为-1.75,而节点s2和节点s3的V值收敛为-1。在V值重新收敛后,两条最短 路径可能是s1→s3→s2→s4和s1→s3→s4,此图中,路径为车辆节点1到节点3到节点4, 即所选的路径保证最小的跳数。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述 优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和 细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号