一种结合车联网车辆社交性的消息传播方法与流程

文档序号:16850131发布日期:2019-02-12 22:40阅读:198来源:国知局
一种结合车联网车辆社交性的消息传播方法与流程

本发明涉及车联网资源部署领域,具体涉及一种结合车联网车辆社交性的消息传播方法。



背景技术:

车辆自组织网络(vehicularad-hocnetwork,vanet),简称车联网,是在一定通信范围内用于车辆交换信息的无线通信网络。随着车联网的发展,已经有越来越多个关于消息传输的研究。消息传输在车载自组网中属于一类较难解决的问题。一条消息从源节点开始,中间经过多个中继结点才能到达目标节点。这个过程中,中继结点,也就是转发车辆起到了至关重要的作用。在该网络中,有多种类型车辆,主要分为两类:私人车辆(私家车等)、公共车辆(公交车、出租车等)。公共车辆由于其公共性,会积极转发消息。而私人车辆则与此相反,其转发消息的意愿是随自身需求不断变化。但是在整个网络中,私人车辆占绝大多数。消息传输的成功与否关键在于私人车辆是否愿意充当转发节点。消息传输问题的主要难点在于从私人车辆中找到合适的中继转发节点的集合。在保证不超过预算的情况下,通过一定的奖励来激励私人车辆转发消息。

daly等人提出了一种移动自组网中的数据转发算法——simbet。该算法基于预测节点中心度来选择转发节点。并且在实验中利用真实轨迹数据证明了simbet策略的转发效果要优于epidemic算法。但是这个策略考虑节点都是自愿转发的,过于理想化。hsu等人研究了消息转发中的缓存管理和消息调度的问题。采用最近优先策略,即最近创建的消息优先得到。cai等人提出一种基于博弈论两跳副本路由协议。该协议考虑了节点的自私行为,例如不转发其他节点消息和依赖其他节点为自己转发消息。此外,还采用最优顺序停止规则和vickreyclarkegroves拍卖策略选择最优中继节点。进一步,提出了寻找最优停止时间阈值、优化中继节点选择的现实概率模型。虽然,该领域有多种研究理论,各有所长,但无法总领全局。因此,本领域亟待更优的技术方案出现。

参考文献:

[1]dalyem,haahrm.socialnetworkanalysisforroutingindisconnecteddelay-tolerantmanets[c]//acminterationalsymposiumonmobileadhocnetworking&computing.2007:32-40.

[2]hsuyf,hucl.enhancedbuffermanagementfordatadeliverytomultipledestinationsindtns[j].ieeetransactionsonvehiculartechnology,2016,65(10):8735-8739.

[3]caiy,fany,wend.anincentive-compatibleroutingprotocolfortwo-hopdelay-tolerantnetworks[j].ieeetransactionsonvehiculartechnology,2016,65(1):266-277.



技术实现要素:

针对现有技术的缺陷,本发明提供一种结合车联网车辆社交性的消息传播方法。

为达到上述目的,本发明技术方案提供一种结合车联网车辆社交性的消息传播方法,收集车辆gps轨迹数据并挖掘社区结构;根据车辆接触信息求得节点之间的接触概率,根据车辆请求和转发消息数量求得节点的社区合作度;分别比较源节点到目标节点以及接触节点到目标节点的接触概率和社区合作度,将高接触概率高社区合作度的节点加入候选集,从中选择接触概率与社区合作度比值最大的节点为转发节点。

而且,采用以下流程实现,

step1,根据真实车辆数据挖掘社区结构,包括基于车载单元obu的通信范围提取出每辆车之间的通信频次,对车辆进行社区划分,得到通信频次图,转到step2;

step2,得到通信频次图后,首先根据车辆接触信息得到每对节点之间的接触次数以及整个网络的节点接触总次数,进一步提取每对节点之间的接触概率;然后根据节点的转发消息数量和请求消息数量,得到节点的转发数量与社区的转发和请求数量之和的比值,作为社区合作度,转到step3;

step3,初始化,包括将合作节点集合gi置空,总奖励r置0,转至step4;

step4,判断当前的总奖励r是否小于等于预算b,如果是,转入step5,如果否,流程结束;

step5,对于全部节点集合ω中的任意节点i,当它与节点j处在通信范围内时,比较节点i和节点j到目的节点d的接触概率pi(d)和pj(d),如果pj(d)大则转入step6,否则转入step8;其中,d∈di,集合di表示节点i的目标节点集合;

step6,进一步比较节点i和节点j的社区合作度csi(d)和csj(d),如果csi(d)<csj(d)则转入step7,否则转入step8;

step7,将节点j并入节点i的目标节点为d的候选集合gi(d)中,转至step8;

step8,从集合μa中删除节点j并判断集合是否为空,如果是则转入step9,否则转入step5,重新选择剩余节点;其中,μa是指与节点a相遇的历史节点集合;

step9,在候选集合gi(d)中选择接触概率与社区合作度比值最大的节点为转发节点,并且从集合di删除目标节点d,进入step10;

step10,判断加入该节点相应给与的奖励r与当前的总奖励r之和是否超过预算b,如果是则转入step9,重新选择节点,否则转入step11;

step11,判断集合di是否为空,如果是则转入step12,否则转入step5;

step12,从全部节点集合ω中删除节点i并判断此时全部节点集合ω是否为空,如果是则则合并所有集合gi,i∈ω,d∈di,形成一个总的集合g,并结束流程;如果否则则转step4。

而且,提取每对节点之间的接触概率时,根据节点的直接接触概率和间接接触概率综合得到。

而且,社区合作度计算如下,

设节点a对节点b的请求消息数量为ra(b),节点a经节点b的转发消息数量为qa(b),社区合作度为其中,μa是指与节点a相遇的历史节点集合。

在本发明中,提出了一种结合车联网车辆社交性的消息传播方法,目的在于最大化成功传播消息的次数。本发明具有以下特点:

1)提出车辆的社区模型。本发明考虑车辆在社交网络内的内在关联。整个网络中的节点(车辆)的移动具有高度动态性,所以无法对单个车辆的移动性进行有效分析。但是车辆与车辆间的通信存在持续性和反复性。通过提取真实车辆之间的通信并利用社区发现加以分析可以发现,车辆之间的通信呈现社区结构的特点,社区内的车辆之间通信密集,而社区间的通信却比较稀疏。

2)定义车辆的接触概率和社区合作度。本发明考虑车辆的接触概率和车辆对所在社区的贡献。对于接触概率,车辆在行驶过程中会与其他车辆通信,简称接触。一条消息就是通过多次这样的接触传递到目标节点的。通过统计两个节点之间的通信次数与所有节点的通信总次数的比值可以得到接触概率。对于社区合作度,每个节点(车辆)出于自身原因在转发其他节点消息的数量和向其他节点请求转发消息的数量这两方面差别较大。为了区别这种差异,本发明定义了社区合作度来衡量节点对社区的贡献程度,通过节点的转发消息数量与社区的转发消息和请求消息数量之和的比值求得。

3)进行基于社交性的节点选择。在节点选择策略方面,本发明考虑社交性和社区合作度两方面的因素。利用社交性挖掘了节点之间的通信频繁程度,利用合作度区别了节点对社区的贡献程度。结合两者,并且在预算允许的情况下,通过对转发节点的奖励来激励合适的节点转发消息。

因此,本发明能够很好地模拟现实情形,并针对车辆移动的社交性,合理地给出了一个有效的解决方案,让消息转发更加合理化、高效化,不至于造成资源的浪费。

附图说明

图1为本发明实施例的流程框图。

图2为本发明实施例的流程图。

图3为本发明实施例节点相遇转发示意图。

图4、7、10分别为本发明实施例的实验结果中不同节点数量,不同消息生命周期,不同节点参与率下三种算法消息交付率对比图。

图5、8、11分别为本发明实施例的实验结果中不同节点数量,不同消息生命周期,不同节点参与率下三种算法消息成功传递平均延迟对比图。

图6、9、12分别为本发明实施例的实验结果中不同节点数量,不同消息生命周期,不同节点参与率下三种算法消息传递花费对比图。

具体实施方式

以下结合附图和实施例详细说明技术方案。

本发明提供用于结合车联网车辆社交性的消息传播方法,考虑在一片区域内,给定有限的部署预算的条件下,如何最优化选择转发节点,从而使得成功递送的消息次数最大化。在转发节点选择的过程中,出于最大化成功递送消息次数的目标,尽可能地选择高接触率和高合作度的节点。最终结合车辆的社交性提出了一种贪心算法,在每一步选择的过程中,尽可能选择高接触率和高合作度的候选节点。并且提出,综合比较接触概率和合作度的比值高的节点优先选择转发。参见图1,本发明实施例提出的方法,包括收集车辆gps轨迹数据并挖掘社区结构;根据车辆接触信息求得节点之间的接触概率p,根据车辆请求和转发消息数量求得节点i的社区合作度cs;分别比较源节点到目标节点以及接触节点到目标节点的接触概率p和社区合作度cs大小,将高接触概率p、高社区合作度cs的节点并入候选集,从中选择最高p/cs的节点。

参见图2,实施例的详细实现包括如下步骤:

step1,根据真实车辆数据挖掘社区结构,包括基于车载单元obu的通信范围提取出每辆车之间的通信频次,对车辆进行社区划分,得到通信频次图。

实际收集的真实数据字段可能包含车辆id、时间戳、经度、纬度、速度、角度等。实施例中提取时间戳、经度、纬度这三个字段。首先要提取车辆间通信,实施例采用的策略是:比较两辆车的gps报告点的时间差,若处在一个预设的时间窗口内并且他们之间的车距在车载单元obu的通信范围内,认为这两辆车可以完成一次通信。本发明中,时间窗口指的是时间差的取值范围,例如,时间窗口(5,30)是指时间差处在5秒至30秒之间。根据该策略提取出每辆车之间的通信频次。接着利用社区发现算法对车辆进行社区划分,这样就得到通信频次图。转到step2;

其中社区发现算法(fastunfolding算法)能帮助检测出车联网中哪些车之间的通信密集,哪些车稀疏。fastunfolding算法为现有技术,为便于实施参考起见,提供实施例采用fastunfolding算法对原始的真实车辆数据进行处理的具体步骤如下:

1.初始化,将每个车辆作为节点划分在不同的社区中。可通过随机定义的形成初始的社区。

2.逐一选择各个节点,对每个节点i,依次尝试把节点i分配到其每个邻居节点所在的社区,计算分配前与分配后的模块度变化δq,并记录δq最大的那个邻居节点,如果maxδq>0,则把节点i分配给δq最大的那个邻居节点所在的社区,否则保持不变。

其中,m代表边的总权重,aij是一个邻接矩阵的元素,如果节点i和节点j之间存在边,那么aij的值为两个节点(即两辆车)的通信次数,否则,aij=0。ki和kj分别是节点i和节点j的度数(即与节点相连的边的条数)。ci表示的是节点i被分配到的社区,cj表示的是节点j被分配到的社区,当变量≥(ci,cj)=1,顶点i与顶点j被划分在同一个社区中,当变量≥(ci,cj)=0,顶点i与顶点j没有被划分在同一个社区。

3.重复步骤2,直到所有节点的所属社区不再变化,得到重新划分的若干社区,然后对当前的社区图进行压缩,将一个社区内的所有点合为一个点,形成新社区(只包含一个节点)进入步骤4。

4.基于当前的新社区返回步骤2,继续进行迭代。新社区中的点代表上一次执行步骤3划分出来的每个社区,边的权重为两个社区中所有节点对的边权重之和。即重复步骤2和3,直到社区结构不再发生变化为止。

例如实施例中社区结构图提取策略:时间窗口为5‐30秒,车距为obu通信范围(200m)。图中总结点数为1127个,主要社区有11个。

step2,得到通信频次图后,首先根据车辆接触信息可以知道每对节点之间的接触次数以及整个网络的节点接触总次数。例如,节点a和节点b的接触次数用ea(b)表示,那么整个网络的总接触次数为其中ω是全部节点集合,μa是指与节点a相遇的历史节点集合。进一步可以求得每对节点之间的接触概率pa(b)=αdda(b)+(1-α)ida(b)。然后根据节点的转发消息数量和请求消息数量可以得到节点的转发数量与社区的转发和请求数量之和的比值,即社区合作度。转到step3。

这里,dda(b)表示节点a与节点b的直接接触概率,也就是节点a直接将消息传递给目的节点b的概率,ida(b)表示间接接触概率,也就是节点a将消息经由转发节点间接传递给b的概率。其中,ea代表节点a接触的总次数,ea(k)代表节点a和节点k的接触次数,ek(b)代表节点k和节点b的接触次数,节点k是历史节点集合μa中除了节点b以外的任意一个节点。系数α值决定接触概率中,直接概率的影响大还是间接概率的影响大。

社区合作度涉及两个概念:1、节点a对节点b的请求消息数量ra(b)。2、节点a经节点b的转发消息数量qa(b)。社区合作度为例如存在两个社区ca、cb,并且ca包含四个点b、f、g、h,cb包含四个节点a、c、d、e。当节点a与节点b相遇时,节点a有一条消息的目的节点为g,那么对于a而言,他有两种选择:1、将消息转发给节点b。2、携带消息继续行驶。那么此时节点a到节点g的接触概率pa(g)=ea(g)/n=αdda(g)+(1-α)ida(g)=0.21。实施例设α=0.5。而社区合作度则根据实际请求与转发数量来定。

step3,初始化:合作节点集合gi置空,总奖励r置0,转至step4。

step4,判断当前的总奖励r是否小于等于预算b,如果是,转入step5,如果否,流程结束。

step5,对于全部节点集合ω中的任意节点i,当它与节点j处在通信范围内时(即节点j是节点i的接触节点),比较节点i和节点j到目的节点d∈di的接触概率,即比较pi(d)和pj(d)的大小,如果pj(d)大,转入step6,否则,转入step8。这里集合di表示节点i的目标节点集合。

step6,进一步比较节点i和节点j的社区合作度。如果csi(d)<csj(d),转入step7,否则,转入step8。

step7,将节点j并入节点i的目标节点为d的候选集合gi(d)中。转至step8。

step8,从集合μa中删除节点j并判断集合是否为空,如果是,转入step9,否则,转入step5,重新选择剩余节点。其中,μa是指与节点a相遇的历史节点集合。

step9,在候选集合gi(d)中选择接触概率与社区合作度比值p/cs最大的节点为转发节点并且从集合di删除目标节点d,进入step10。

step10,判断加入该节点后,给与的奖励r与当前的总奖励r之和是否超过预算b。如果是,转入step9,重新选择节点,否则,转入step11。

step11,判断集合di是否为空,如果是,转入step12,否则,转入step5。

step12,从全部节点集合ω中删除节点i并判断此时全部节点集合ω是否为空。如果是,则合并所有集合gi,i∈ω,d∈di成一个总的集合g,即g=∪i∈ωgi,并结束流程。如果否,则转入step4。

以上流程主要思想是基于全部节点集合ω,转发节点奖励r与预算b。具体实施时,用户可自行设置转发节点奖励r与预算b的取值,例如转发节点奖励r根据车辆情况不同进行设置,也可以简化设为所有车辆取值相同。通过计算节点到目标节点的接触概率和社区合作度。并比较相遇节点和携带数据节点的接触概率和社区合作度的大小。从而选出合适的转发节点。具体实施时,可以采用计算机软件技术实现自动运行流程。

为了估计算法性能,提供了如下几种算法作比较:

1)epidemic方案,洪泛路由策略,遇到节点就转发。

2)prophet方案,根据历史相遇记录预测未来相遇概率。

3)cc方案,除了预测未来相遇概率还计算节点对社区的合作度。

三种方案在不同节点数量,不同消息生命周期,不同节点参与率的情况下的消息交付率见图4、7、10,对比三种不同的算法可以看到本发明提出的预测+合作(社区合作度)策略方案在三种因素的比较中均比同类算法有更好的性能。图4展示了随着车辆数的增大,三种算法消息交付率也在增大,而cc方案的增长相较于其他两种算法更快。图7展示了不同消息生命周期对消息交付率的影响。随着消息生命周期的增大,三种算法的消息交付率均在增大,显然,生命周期的增大会使得车辆携带消息的时间更长,更有机会转发出去。图10展示了节点参与率增大时,三种算法的消息交付率也随之增大,但cc方案相比较而言增长得更慢。

图例中epidemic、prophet、cc分别对应方案1-3。图5、8、11分别是在不同节点数量,不同消息生命周期,不同节点参与率情况下消息成功传递的延迟。图5展示了车辆数的增加对延迟的影响,随着车辆数的增加,三种算法的延迟均在减小,但是epidemic方案下降地最快,因为它采取洪泛策略,cc方案处在两者之间。图8则能看出消息生命周期增大时,平均延迟也在增大,而cc方案相较于另外两种算法增长得适中。图11可以看出cc方案相较于在参与率增大的情况下是由于prophet策略的。

图6、9、12分别是在不同节点数量,不同消息生命周期,不同节点参与率情况下消息传递花费。图6展示了车辆数的增加对花费的影响,随着车辆数的增加,三种算法的花费均在增大,但是epidemic方案增长地最快,因为它采取洪泛策略,使得网络中存在大量的冗余信息。cc方案处在两者之间。图9则能看出消息生命周期增大时,传递花费也在增大,因为生命周期的增大使得节点转发次数增大,从而增加花费。而cc方案要优于prophet方案。图12可以看出cc方案相较于在参与率增大的情况下花费要低于洪泛方案,但优于prophet。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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