面向城市社交车联网中交叉路口处的数据转发方法和装置转让专利

申请号 : CN202110320432.0

文献号 : CN113114735B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐晓岚郝子丰王群陈文龙鲁思远

申请人 : 首都师范大学

摘要 :

本申请提出一种面向城市社交车联网中交叉路口处的数据转发方法和装置,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括:路边单元接收到数据包的转发请求时,收集各候选方向上的车辆社交属性信息;根据所述车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级;根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。由此,提升数据的社区交付率。

权利要求 :

1.一种面向城市社交车联网中交叉路口处的数据转发方法,其特征在于,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括以下步骤:所述路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;

根据所述车辆社交属性信息计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;

根据所述直接转发贡献率、所述连通度和所述同类数据方向选择经验值计算所述各候选方向的转发优先级;

根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本;

所述计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值,包括:获取所述路边单元的每个所述候选方向上车载节点对所述数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为所述直接转发贡献率;

获取所述路边单元与下一路口路边单元之间的通信距离和第二距离,计算所述通信距离与所述第二距离的比值作为所述连通度;其中,所述通信距离为所述路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;所述第二距离为所述路边单元与下一路口路边单元之间的距离;

计算数据包同类数据到达所述路边单元时,选择每个所述候选方向作为转发方向的概率作为所述同类数据方向选择经验值。

2.如权利要求1所述的方法,其特征在于,所述路边单元接收到数据包的转发请求时,所述接收各候选方向上的车辆社交属性信息,包括:所述路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。

3.如权利要求1所述的方法,其特征在于,所述根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本,包括:根据所述数据包副本个数选择从候选转发方向确定目标转发方向,并确定所述目标转发方向的转发数据包副本个数。

4.如权利要求1所述的方法,其特征在于,还包括:

当确定所述目标转发方向后,当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,所述路边单元将数据包发送给下一路口路边单元以及沿所述目标转发方向道路上的车载节点;其中,所述预设阈值为所述RSU的通信半径;

当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离大于预设阈值时,所述路边单元向沿所述目标转发方向上的邻居车载节点发送所述数据包,然后由距离所述路边单元最远的邻居车载节点作为转发节点继续沿所述目标转发方向多跳传输所述数据包,直至到达下一路口路边单元或者没有可通信的车载节点。

5.一种面向城市社交车联网中交叉路口处的数据转发装置,其特征在于,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括:接收模块,用于所述路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;

第一计算模块,用于根据所述车辆社交属性信息计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;

第二计算模块,用于根据所述直接转发贡献率、所述连通度和所述同类数据方向选择经验值计算所述各候选方向的转发优先级;

处理模块,用于根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本;

所述第一计算模块,具体用于:

获取所述路边单元的每个所述候选方向上车载节点对所述数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为所述直接转发贡献率;

获取所述路边单元与下一路口路边单元之间的通信距离和第二距离,计算最远通信距离与所述第二距离的比值作为所述连通度;其中,所述通信距离为所述路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;所述第二距离为所述路边单元与下一路口路边单元之间的距离;

计算数据包同类数据到达所述路边单元时,选择每个所述候选方向作为转发方向的概率作为所述同类数据方向选择经验值。

6.如权利要求5所述的装置,其特征在于,所述接收模块,具体用于:所述路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。

7.如权利要求5所述的装置,其特征在于,所述处理模块,具体用于:根据所述数据包副本个数选择从候选转发方向确定目标转发方向,并确定所述目标转发方向的转发数据包副本个数。

8.如权利要求5所述的装置,其特征在于,还包括:

第一发送模块,用于当确定所述目标转发方向后,当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,所述路边单元将数据包发送给下一路口路边单元以及沿所述目标转发方向道路上的车载节点;其中,所述预设阈值为所述RSU的通信半径;

第二发送模块,用于当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离大于预设阈值时,所述路边单元向沿所述目标转发方向上的邻居车载节点发送所述数据包,然后由距离所述路边单元最远的邻居车载节点作为转发节点继续沿所述目标转发方向多跳传输所述数据包,直至到达下一路口路边单元或者没有可通信的车载节点。

说明书 :

面向城市社交车联网中交叉路口处的数据转发方法和装置

技术领域

[0001] 本申请涉及数据处理技术领域,尤其涉及一种面向城市社交车联网中交叉路口处的数据转发方法和装置。

背景技术

[0002] 在社交车联网中,如何通过车载节点和路边单元(RSU,Road Side Unit)将数据快速覆盖到特定区域中的目标群体的问题。在社交车联网中,随着数据传输需求变大,数据密度和复杂性增加,如何提升数据的接收率、缩短传输时延,仍然是一个待解决的问题。如果转发数据时频繁进行转发节点选择,会产生大量的控制信令,占用网络资源,影响传输性能。
[0003] 传统的车联网路由算法会将车载节点的密度、位置、速度等信息作为数据转发的判断依据,忽略了数据和车载节点之间的相关性,导致数据的有效接受率降低。
[0004] 对于社交车联网的数据转发方法,目前大多数研究是车载节点收集周围邻居节点的社交属性并进行转发节点的选择,在拥有较大车载节点密度的路口处会增加转发判断的时间、降低数据的转发效率。

发明内容

[0005] 本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006] 为此,本申请的第一个目的在于提出一种面向城市社交车联网中交叉路口处的数据转发方法,针对城市社交车联网,由部署在交叉路口处的RSU进行转发方向选择,车载节点沿该方向多跳转发数据,有助于增强社交车联网的稳定性和提高网络资源的利用率。
[0007] 本申请的第二个目的在于提出一种面向城市社交车联网中交叉路口处的数据转发装置。
[0008] 为达上述目的,本申请第一方面实施例提出了一种面向城市社交车联网中交叉路口处的数据转发方法,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括以下步骤:
[0009] 所述路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;
[0010] 根据所述车辆社交属性信息计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;
[0011] 根据所述直接转发贡献率、所述连通度和所述同类数据方向选择经验值计算所述各候选方向的转发优先级;
[0012] 根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。
[0013] 本申请实施例的面向城市社交车联网中交叉路口处的数据转发方法,通过路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;根据车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级;根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。由此,提升数据的社区交付率。
[0014] 可选地,在本申请的一个实施例中,所述路边单元接收到数据包的转发请求时,所述接收各候选方向上的车辆社交属性信息,包括:
[0015] 所述路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。
[0016] 可选地,在本申请的一个实施例中,所述计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值,包括:
[0017] 获取所述路边单元的每个所述候选方向上车载节点对所述数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为所述直接转发贡献率;
[0018] 获取所述路边单元与下一路口路边单元之间的通信距离和第二距离,计算所述最远通信距离与所述第二距离的比值作为所述连通度;其中,所述通信距离为所述路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;所述第二距离为所述路边单元与下一路口路边单元之间的距离;
[0019] 计算数据包同类数据到达所述路边单元时,选择每个所述候选方向作为转发方向的概率作为所述同类数据方向选择经验值。
[0020] 可选地,在本申请的一个实施例中,所述根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本,包括:
[0021] 根据所述数据包副本个数选择从所述候选转发方向确定目标转发方向,并确定所述目标转发方向的转发数据包副本个数。
[0022] 可选地,在本申请的一个实施例中,所述面向城市社交车联网中交叉路口处的数据转发方法,还包括:
[0023] 当确定所述目标转发方向后,当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,所述路边单元将数据包发送给下一路口路边单元以及沿所述目标转发方向道路上的车载节点;其中,所述预设阈值为所述RSU的通信半径;
[0024] 当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离大于预设阈值时,所述路边单元向沿所述目标转发方向上的邻居车载节点发送所述数据包,然后由距离所述路边单元最远的邻居车载节点作为转发节点继续沿所述目标转发方向多跳传输所述数据包,直至到达下一路口路边单元或者没有可通信的车载节点。
[0025] 为达上述目的,本申请第二方面实施例提出了一种面向城市社交车联网中交叉路口处的数据转发装置,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括:
[0026] 接收模块,用于所述路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;
[0027] 第一计算模块,用于根据所述车辆社交属性信息计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;
[0028] 第二计算模块,用于根据所述直接转发贡献率、所述连通度和所述同类数据方向选择经验值计算所述各候选方向的转发优先级;
[0029] 处理模块,用于根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。
[0030] 本申请实施例的面向城市社交车联网中交叉路口处的数据转发装置,通过路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;根据车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级;根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。由此,提升数据的社区交付率。
[0031] 可选地,在本申请的一个实施例中,所述接收模块,具体用于:
[0032] 所述路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。
[0033] 可选地,在本申请的一个实施例中,所述第一计算模块,具体用于:
[0034] 获取所述路边单元的每个所述候选方向上车载节点对所述数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为所述直接转发贡献率;
[0035] 获取所述路边单元与下一路口路边单元之间的通信距离和第二距离,计算所述最远通信距离与所述第二距离的比值作为所述连通度;其中,所述通信距离为所述路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;所述第二距离为所述路边单元与下一路口路边单元之间的距离;
[0036] 计算数据包同类数据到达所述路边单元时,选择每个所述候选方向作为转发方向的概率作为所述同类数据方向选择经验值。
[0037] 可选地,在本申请的一个实施例中,所述处理模块,具体用于:
[0038] 根据所述数据包副本个数选择从所述候选转发方向确定目标转发方向,并确定所述目标转发方向的转发数据包副本个数。
[0039] 可选地,在本申请的一个实施例中,所述的装置,还包括:
[0040] 第一发送模块,用于当确定所述目标转发方向后,当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,所述路边单元将数据包发送给下一路口路边单元以及沿所述目标转发方向道路上的车载节点;其中,所述预设阈值为所述RSU的通信半径;
[0041] 第二发送模块,用于当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离大于预设阈值时,所述路边单元向沿所述目标转发方向上的邻居车载节点发送所述数据包,然后由距离所述路边单元最远的邻居车载节点作为转发节点继续沿所述目标转发方向多跳传输所述数据包,直至到达下一路口路边单元或者没有可通信的车载节点。
[0042] 本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0043] 本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0044] 图1为本申请实施例的一种面向城市社交车联网中交叉路口处的数据转发方法的流程示意图;
[0045] 图2为本申请实施例不同的RSU部署距离的示意图;
[0046] 图3为本申请实施例奇偶跳信息收集方法的示意图;
[0047] 图4为本申请实施例局部优化问题的示例图;
[0048] 图5为本申请实施例的一种面向城市社交车联网中交叉路口处的数据转发装置的结构示意图。

具体实施方式

[0049] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0050] 下面参考附图描述本申请实施例的面向城市社交车联网中交叉路口处的数据转发方法和装置。
[0051] 图1为本申请实施例一所提供的一种面向城市社交车联网中交叉路口处的数据转发方法的流程示意图。
[0052] 在本申请的城市社交车联网中,车载节点具有动态社区属性,待转发的数据具有特定的目标社区且不同目标社区的重要性不同,部署在路口的路边单元会收集各个候选方向上车载节点的社交属性信息,进而计算各个方向的转发优先级,根据当前数据的副本数量在各个方向分配待转发的数据副本,实现交叉路口处的数据转发方向选择。具体来讲,当数据副本数为一时,选择转发优先级最大的方向来转发该副本;当数据副本数大于一时,若数据副本数小于候选方向数量,则选择与副本相同数量的优先级较大的方向作为转发方向,每个方向转发一个数据副本,否则,按各个方向的转发优先级比例分配数据副本。
[0053] 具体地,本申请面向城市社交车联网中交叉路口处的数据转发,由部署在路口处的RSU承担数据转发方向选择的任务,车载节点沿所选择的方向多跳传输数据。
[0054] 举例而言,假定城市中有m个社区,社区集记为C={C1,C2,...,Cm},其中每个社区都有一组车载节点。每个车载节点vi在不同时间可以属于不同社区,并且会随时间变化而改变。车载节点vi在时间状态t所归属的社区记为 所有车载节点具有相同的通信半径Rv,路口处部署的路边单元的通信半径为Rr。对于任意车载节点vi和路边单元rj,所有在其传输范围内的车载节点称之为邻居,记为 和
当数据在场景中传输时,数据pk对应一个特定的社区重要性向量,记为
其中 指对于社区Cm中的车载节点接收到数据pk的意义值, 越大,
表示此数据对社区Cm越重要。Sk中的各元素取值属于[0,1]区间,且各元素和为1。
[0055] 本申请应用的车联网场景举例如下:城市中有三个社区,即C={C1,C2,C3}={Teacher,Worker,Resident},存在三种待转发的数据{p1,p2,p3},其中p1指亲子类活动数据,该数据的社区重要性向量S1={0.5,0,0.5};p2指附近超市商品折扣数据,S2={0.2,0.4,0.4};p3指企业招聘类信息,S3={0,0.2,0.8}。同时存在两种时间状态:工作日(Workday)和假期(Vacation),记为{W,V}。有三个车载节点{v1,v2,v3},其中v1为一名老师的车辆,v2为一名社会工作者的车辆,v3为定居当地的老年人的车辆。在工作日期间,三个车载节点分别属于Teacher、Worker和Resident社区,即
在假期时,三个车载节点都属于Resident
社区,即
[0056] 具体地,用 表示车载节点vi是否接收到数据pk,若vi接收到数据pk,则 否则, 在评估路由算法的性能时,考虑到pk对不同社区的重要性,数据pk的社区交付率记为 本申请设计了面向城市社交车联网的交叉路口数据转发方法,旨在提升数据的社区交付率。
[0057] 本申请实施例中,RSU选择数据在路口处的转发方向,车载节点负责将一段道路上(不含路口)的数据从道路起点按最远距离传输至道路终点,然后进入下一个路口进行转发方向选择。路口处的转发方向选择处理步骤见2.1.2和2.1.3,RSU的部署密度和距离影响着数据传输性能,如图1所示,当部署RSU的两个相邻路口之间的距离小于RSU通信半径,此时路边单元rq和路边单元rj可以直接进行通信,并将数据传递给位于rq和rj之间的所有车载节点,此时在传递数据时不使用车车通信(V2V通信),仅通过车和路边单元通信(V2I通信)就可以完成数据在两路口之间道路上的传播;当部署RSU的两个相邻路口之间的距离大于RSU通信半径,此时rq不能通过V2I通信将数据传递给rq和rj之间的所有车载节点,因此需要将数据传递给在rq通信半径内、在rq到rj之间道路上距离rq最远的车载节点vi,由vi按照最远距离传输方法将此数据传递给靠近rj的邻居节点,经过多跳传输,直至传输到下一路口rj。
[0058] 如图2所示,该面向城市社交车联网中交叉路口处的数据转发方法包括以下步骤:
[0059] 步骤101,路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息。
[0060] 在本申请实施例中,路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。
[0061] 具体地,部署在路口的路边单元rq接收到数据pk的转发请求时,通告所有候选方向Dq(候选方向不包括数据的来源方向,避免数据原路返回)上的邻居车载节点(vi∈Nq)上报自身的社交属性信息。这里的社交属性信息是指车载节点vi在当前时间状态t所归属的社区信息,即 并据此聚合得到道路上的社交信息。
[0062] 对于路边单元rq处的任意候选方向d(d∈Dq),为了保证车辆信息收集尽量完整,路边单元rq向其通信范围内沿候选方向d行驶、距离rq最近的车载节点,发送起始指令ST,该车载节点沿方向d采用最远距离传输方法,通过多跳V2V通信扩散该指令,直至到达下一个路口处的路边单元rj或者没有更远的可通信车载节点。此时接收到起始指令ST且距离rq最远的车载节点为社交属性收集的起始节点v0。可见,起始节点v0是从路边单元rq开始、在到达下一个路边单元rj之前、经过多跳V2V通信能够到达的最远端节点。然后,由起始节点v0开始,沿方向d道路上的车载节点采用奇偶跳信息收集方法,将本道路上所有车载节点的社交属性信息进行汇总,多跳回传给rq。
[0063] 奇偶跳信息收集方法是指从起始节点v0开始,奇数跳节点负责收集其邻居节点的社交属性,并将其与接收到的上一跳节点的社交属性进行聚合,再将聚合后的社交属性向rq传递;偶数跳节点只将收到的社交属性信息向rq传递,不进行社交属性收集和聚合。相比传统的每一跳都进行收集和聚合的方法,奇偶跳信息收集方法在保证信息完整收集的基础上,避免信息重复收集,减少了一半的收集和聚合工作量,提高信息收集效率。
[0064] 奇偶跳信息收集方法示例如图3所示。以收集r1东侧道路上车载节点的社交属性信息为例,邻居节点有四种不同身份:起始节点,奇数跳节点,偶数跳节点,结束节点。身份不同的车载节点通过三种控制指令:起始指令ST,社交属性收集指令SC,社交属性转发指令SF协作完成信息收集。假设所有车载节点的通信半径相同,车载节点周期性地向邻居发送自己的位置信息,并根据接收到的邻居信息更新邻居列表。奇偶跳信息收集方法的执行步骤如下:
[0065] (1)起始节点指从r1出发沿东侧道路、利用V2V通信所能到达最远的车载节点,起始节点的主要功能为:当收到起始指令ST时,向邻居中距离r1最近的节点发送社交属性收集指令SC以及起始位置loc0(起始位置即起始节点当前的位置信息)。后续节点对起始位置loc0不做任务修改,只做转发,最终到达r1,r1依据loc0计算连通度,图2中v0为起始节点,v0向v1发送社交属性收集指令SC和起始位置loc0。
[0066] (2)奇数跳节点:所有收到社交属性收集指令SC的车载节点,即从起始节点通过奇数次最远距离V2V通信所能到达的车载节点,主要功能为:第a(a为奇数)跳节点收集其邻居节点的社交属性信息,将邻居的社交属性与自己的社交属性聚合,得到局部社交属性,记为其中a表示跳数,C表示社区, 表示第a跳节点及其邻居中属于社区Cm的车载节点个数。将第a跳节点及其前面所有节点聚合得到的社交属性称为汇总社交属性,记为 其中 表示第a跳节点及其前面所有节点聚
合得到的属于社区Cm的车载节点个数。当a=1时,第a跳节点的局部社交属性即为汇总社交属性,即 当a>1时,将局部社交属性 与第a‑1跳节点的汇总社交属性
进行聚合,得到第a跳节点的汇总社交属性,即 然后,
第a跳节点向邻居中距离r1最近的节点发送汇总社交属性 社交属性转发指令SF和起始位置loc0。
[0067] 在图3中,v1和v3为奇数跳节点。v1接收到社交属性收集指令SC和起始位置loc0后,开始收集其邻居节点的社交属性,并与自身的社交属性聚合,得到第一跳汇总社交属性并将 社交属性转发指令SF和起始位置loc0发送给邻居中距离r1最近的节点v2。除v1以外的其他奇数跳节点,如v3,收集局部社交属性 再聚
合接收到的上一跳的汇总社交属性 得到第三跳汇总社交属性 再
将 社交属性转发指令SF和起始位置loc0发送给邻居中距离r1最近的节点v4。
[0068] (3)偶数跳节点:所有收到社交属性转发指令SF的车载节点,即从起始节点通过偶数次最远距离V2V通信所能到达的车载节点,主要功能为:第a(a为偶数)跳节点不进行社交属性的收集和聚合操作,只使用第a‑1跳的汇总社交属性更新第a跳的汇总社交属性,即再将 社交属性收集指令SC和起始位置loc0发送给邻居中距离r1最近的节点,在图3中,v2是偶数跳节点。v2接收到 社交属性转发指令SF和起始位置loc0,直接将 (值同 )、社交属性收集指令SC和起始位置loc0发送给邻居中距离r1最近的节点v3。
[0069] (4)结束节点指靠近r1的最后一跳信息收集节点,主要功能为:结束节点(即第x跳节点)收集自己和路边单元r1之间道路上车载节点的社交属性,聚合得到限向局部社交属性,记为 其中x表示跳数, 表示在结束节点与路边单元r1之间道路上属于社区Cm的车载节点个数。将限向局部社交属性 与第x‑1跳节点的汇总社交属性 进行聚合,得到最终汇总社交属性,即
然后,结束节点将最终汇总社交属性 和起始位置loc0发送给路边单元r1,完成路边单元r1东侧道路上车载节点的社交属性收集。
[0070] 在图3中,v4是结束节点。v4只收集v4和r1之间车载节点的社交属性,得到将其与接收到的 信息进行聚合,将最终汇总社交属性和起始位置loc0发送给r1。
[0071] 步骤102,根据车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值。
[0072] 步骤103,根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级。
[0073] 在本申请实施例中,获取路边单元的每个候选方向上车载节点对数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为直接转发贡献率;获取路边单元与下一路口路边单元之间的通信距离和第二距离,计算通信距离与第二距离的比值作为连通度;计算数据包同类数据到达路边单元时,选择每个候选方向作为转发方向的概率作为同类数据方向选择经验值;其中,通信距离为路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;第二距离为路边单元与下一路口路边单元之间的距离。
[0074] 具体地,依据路边单元rq的d方向上收集到车载节点社交属性,计算d方向的转发优先级;进而对比所有候选方向Dq的转发优先级,根据路边单元rq处数据pk的副本数量hk来选择转发方向。若只有1个数据副本(hk=1),则选择转发优先级最大的方向来转发该副本;否则,若副本数小于等于候选方向数量(1<hk≤|Dq|),则选择hk个转发优先级较大的方向作为转发方向,分别转发一个数据副本;否则,即副本数hk大于候选方向数量(hk>|Dq|),则依据各候选方向的转发优先级,按比例在各个候选方向分配数据副本。下面介绍路边单元rq在d方向的转发优先级 的计算方法。
[0075] 其中,直接转发贡献率表示在路边单元rq的d方向上车载节点对数据包pk的直接转发贡献值占所有候选方向的最大贡献值的比率,记为 计算方法为:
[0076]
[0077] 其中, 表示在路边单元rq的d方向上车载节点的直接转发贡献值,max(DFC)表示路边单元rq各个候选方向DFC的最大值,可见
[0078] 直接转发贡献值 反映了在路边单元rq的d方向上各社区车载节点对于社区交付率的贡献值,依据社交属性的聚合结果 和社区重要性向量Sk计算,公式为:
[0079]
[0080] 例如在图3中,r1正在转发的数据包为p1并且S1={0.5,0,0.5},则r1东方向(E)的直接转发贡献值为:
[0081]
[0082] 直接转发贡献率 越大,表明rq的d方向上车载节点更迫切接收到当前待转发数据包,该方向更有可能被选择为数据包的转发方向。
[0083] 其中,连通度由于数据的转发速度远大于车载节点的行驶速度,所以需要尽量避免由于车载节点稀疏导致无法找到下一跳节点,由当前节点长期携带数据副本的情况。因此,路口处某一方向上车载节点连通度越大,即通过V2I和V2V通信能够传输到下一路边单元的可能性越大,则说明该方向越有利于数据的转发。沿路边单元rq的d方向的连通度,记为 计算方法为:
[0084]
[0085] 其中,disConn(q,loc0)表示rq与起始位置loc0之间的距离,即在rq到rj之间道路上、从rq出发通过多次V2V通信能到达的最远距离,如图3中disConn(1,loc0)是指路边单元r1和起始节点v0之间的距离;dis(q,j)表示从路边单元rq到下一路边单元rj的距离,可见disConn(q,j)≤dis(q,j),
[0086] 其中,同类数据方向选择经验值,同类数据方向选择经验值的设计是为了解决局部最优问题。如图4所示,在路边单元rq处,由于E方向车载节点密度大于S方向,rq可能选择E方向为数据转发方向。但实际上,路边单元rq和ro之间的车载节点并不密集并且路边单元ro的其余方向也没有更多车载节点,相比较下,如果rq选择将数据向S方向转发给rj,rj的E方向上有更多的车载节点可以接收数据。因此,实时的局部信息不能够准确反映网络总体性能,而历史统计数据有望避免局部最优。
[0087] 数据pk的同类数据指具有相同社会重要性向量Sk的数据。由于同类数据对各个社区的重要性相同,因此在同一路口处会选择相同的转发方向,可以共同作为该类数据历史经验值的统计样本,提升准确度。同样,不同类数据的历史选择经验值不同。
[0088] 同类数据方向选择经验值为历史统计值,路边单元rq记录过去一段时间内各类(具有相同社会重要性向量S的数据为一类)数据的转发方向,与当前数据pk同类的数据个数记为groupk(q),其中选择d方向作为转发方向的数据个数记为groupFwdk(q,d)。因此,在过去一段时间内,数据pk同类数据到达路边单元rq时,选择d方向作为转发方向的概率,记为计算公式为:
[0089]
[0090] 该值与实时车载节点个数无关,只与同类数据的历史转发情况相关。由于groupFwdk(q,d)≤groupk(q),故
[0091] 其中,转发优先级表示路边单元rq在d方向上转发数据pk的优先级,该值越高则此方向更可能被选为数据pk的转发方向,记为 计算方法为:
[0092]
[0093] 其中,α、β、γ为平滑因子,且α+β+γ=1。当α取值为1时表示只考虑社区节点数量,取值为0表示不考虑社区节点数量;当β取值为1时表示只考虑道路的连通性,取值为0表示数据传输连通性不作为影响指标;当γ取值为1时表示只考虑该类数据的历史选择经验值,取值为0表示只根据当前状态进行数据转发。在具体车联网应用中,根据实验场景采用多次采样、性能分析、调整反馈的方法,确定α、β、γ的取值。
[0094] 步骤104,根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。
[0095] 在本申请实施例中,根据数据包副本个数选择从候选转发方向确定目标转发方向,并确定目标转发方向的转发数据包副本个数。
[0096] 在本申请实施例中,当确定目标转发方向后,当路边单元与沿目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,路边单元将数据包发送给下一路口路边单元以及沿目标转发方向道路上的车载节点;当路边单元与沿目标转发方向的下一路口路边单元之间的距离大于预设阈值时,路边单元向沿目标转发方向上的邻居车载节点发送数据包,然后由距离路边单元最远的邻居车载节点作为转发节点继续沿目标转发方向多跳传输数据包,直至到达下一路口路边单元或者没有可通信的车载节点;其中,预设阈值为RSU的通信半径。
[0097] 也就是说,步骤1,车载节点vi启动,从服务器请求vi的社交属性 保存在车内系统中。步骤2,城市中的车载节点周期性地向邻居节点发送位置信息;步骤3,当路边单元rq接收到数据pk后,转发方向的选择过程如下:rq对候选方向(即除数据来源以外的其他方向)进行社交属性 的收集和起始位置loc0的传递;根据收集结果计算各方向的转发优先级 rq根据数据的副本数量hk选择一个或多个转发方向,并确定各方向转发的副本数量;确定方向后,当路边单元rq与沿该方向的下一路口处的路边单元rj之间的距离小于Rr时,rq直接将数据pk发送给rj以及沿该方向道路上的车载节点;否则,rq向沿该方向距离自己最远的车载节点发送数据pk,由该节点按最远距离传输,将数据多跳传输到下一路口处的路边单元rj。数据pk进入下一路口处,重复步骤3,完成数据的扩散。
[0098] 上述符号表示如表1所示:
[0099] 表1符号含义表
[0100]
[0101]
[0102] 由此,在城市社交车联网中,由部署在交叉路口处的路边单元进行数据转发方向选择,路边单元首先收集各候选方向上的车辆社交属性信息,进而计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值,再计算各方向的转发优先级;最终依据转发优先级和数据副本个数,选择合适的转发方向并分配数据副本,从而提升数据的社区交付率。
[0103] 本申请实施例的面向城市社交车联网中交叉路口处的数据转发方法,通过路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;根据车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级;根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。由此,提升数据的社区交付率。
[0104] 为了实现上述实施例,本申请还提出一种面向城市社交车联网中交叉路口处的数据转发装置。
[0105] 图5为本申请实施例提供的一种面向城市社交车联网中交叉路口处的数据转发装置的结构示意图。
[0106] 如图5所示,该面向城市社交车联网中交叉路口处的数据转发装置,以部署在路口处的路边单元RSU作为数据转发的控制单元,包括:接收模块510、第一计算模块520、第二计算模块530和处理模块540。
[0107] 接收模块510,用于所述路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息。
[0108] 第一计算模块520,用于根据所述车辆社交属性信息计算所述各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值。
[0109] 第二计算模块530,用于根据所述直接转发贡献率、所述连通度和所述同类数据方向选择经验值计算所述各候选方向的转发优先级。
[0110] 处理模块540,用于根据所述转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。
[0111] 所述接收模块,具体用于:
[0112] 所述路边单元接收到数据包的转发请求时,通告所有候选方向上的邻居车载节点上报自身的车辆社交属性信息。
[0113] 在本申请实施例中,所述第一计算模块,具体用于:
[0114] 获取所述路边单元的每个所述候选方向上车载节点对所述数据包的直接转发贡献值占所有候选方向的最大贡献值的比率作为所述直接转发贡献率;
[0115] 获取所述路边单元与下一路口路边单元之间的通信距离和第二距离,计算所述最远通信距离与所述第二距离的比值作为所述连通度;其中,通信距离为所述路边单元通过一次车和路边单元和多次车车通信能到达的最远距离;所述第二距离为所述路边单元与下一路口路边单元之间的距离;
[0116] 计算数据包同类数据到达所述路边单元时,选择每个所述候选方向作为转发方向的概率作为所述同类数据方向选择经验值。
[0117] 在本申请实施例中,所述处理模块,具体用于:
[0118] 根据所述数据包副本个数选择从所述候选转发方向确定目标转发方向,并确定所述目标转发方向的转发数据包副本个数。
[0119] 在本申请实施例中,所述的装置,还包括:第一发送模块,用于当确定所述目标转发方向后,当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离小于等于预设阈值时,所述路边单元将数据包发送给下一路口路边单元以及沿所述目标转发方向道路上的车载节点;其中,预设阈值为RSU的通信半径;第二发送模块,用于当所述路边单元与沿所述目标转发方向的下一路口路边单元之间的距离大于预设阈值时,所述路边单元向沿所述目标转发方向上的邻居车载节点发送所述数据包,然后由距离所述路边单元最远的邻居车载节点作为转发节点继续沿所述目标转发方向多跳传输所述数据包,直至到达下一路口路边单元或者没有可通信的车载节点。
[0120] 本申请实施例的面向城市社交车联网中交叉路口处的数据转发装置,通过路边单元接收到数据包的转发请求时,接收各候选方向上的车辆社交属性信息;根据车辆社交属性信息计算各候选方向的直接转发贡献率、连通度和同类数据方向选择经验值;根据直接转发贡献率、连通度和同类数据方向选择经验值计算各候选方向的转发优先级;根据转发优先级和数据包副本个数确定目标转发方向并分配数据包副本。由此,提升数据的社区交付率。
[0121] 要说明的是,前述对面向城市社交车联网中交叉路口处的数据转发方法实施例的解释说明也适用于该实施例的面向城市社交车联网中交叉路口处的数据转发装置,此处不再赘述。
[0122] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0123] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0124] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
[0125] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0126] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0127] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0128] 此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0129] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。