发明内容
本发明方法旨在解决在减小传输开销的前提下实现确认信息ACK(由目的车载节点产生的)的快速传输,同时提高传输的有效性,避免无效传输对车载节点缓存及车载网络带宽的浪费。为增加车载网络节点中的可用缓存空间,提升缓存利用率,本发明提出一种基于GPS位置分发确认信息的车载网络缓存清理方法。该方法在车车通信(V2V)和车辆与路边单元通信(V2I)过程中,利用数据包承载节点的GPS位置信息,来提高确认信息ACK传输的有效性,减小确认信息ACK传输增加的车载网络传输开销,实现冗余数据包的快速清理,从而释放出车载节点的可用缓存空间。
本发明在V2V通信过程中的具体处理步骤为:
步骤V2V-1:节点间身份摘要交换
步骤V2V-11:第一节点A将PJA中A-1数据包的身份数据包的身份数据包的身份生成第一节点A的第一身份摘要发送给第二节点B,执行步骤V2V-22;
步骤V2V-12:第二节点B将PJB中B-1数据包的身份数据包的身份数据包的身份生成第二节点B的第二身份摘要发送给第一节点A,执行步骤V2V-21;
步骤V2V-2:节点间请求补缺数据
步骤V2V-21:第一节点A接收到第二节点B的第二身份摘要ZYDB后,进行数据包身份匹配;第一节点A的数据包身份匹配是指,找出存在于第二数据摘要ZYDB中且不存在于第一数据摘要ZYDA中的数据包的身份,生成第一请求信息 然后,第一节点A将第一请求信息QQDA发送给第二节点B,执行步骤V2V-32;
步骤V2V-22:第二节点B接收到第一节点A的第一身份摘要ZYDA后,进行数据包身份匹配;第二节点B的数据包身份匹配是指,找出存在于第一数据摘要ZYDA中且不存在于第二数据摘要ZYDB中的数据包的身份,生成第二请求信息 然后,第二节点B将第二请求信息QQDB发送给第一节点A,执行步骤V2V-31;
步骤V2V-3:节点间传输数据包
步骤V2V-31:第一节点A接收到第二节点B的第二请求信息QQDB后,第一节点A将第二节点B的标识号B,分别加入到在PJA中所对应的数据包承载节点集中;然后,第一节点A生成第一数据传输包第一节点A将CSDA→B发送给第二节点B,执行步骤V2V-45;
步骤V2V-32:第二节点B接收到第一节点A的第一请求信息QQDA后,第二节点B将第一节点A的标识号A,分别加入到在PJB中所对应的数据包承载节点集中;然后,第二节点B生成第二数据传输包第二节点B将CSDB→A发送给第一节点A,执行步骤V2V-41;
步骤V2V-4:节点间发送确认信息
步骤V2V-41:第一节点A接收到第二节点B发送的第二数据传输包CSDB→A后,判断CSDB→A中任意数据包的目的节点是否是第一节点A;若是,则执行步骤V2V-42;否则,执行步骤V2V-43;
步骤V2V-42:第一节点A生成新的确认信息 并将加入ACKJA中,并执行步骤V2V-43;其中,N指的是任意一个数据包的确认信息的个数;
步骤V2V-43:若CSDB→A中存在有数据包尚未执行完成步骤V2V-41,则返回执行步骤V2V-41,遍历CSDB→A有所有数据包;否则,执行步骤V2V-44;
步骤V2V-44:第一节点A提取ACKJA中的确认信息对应的数据包的身份,生成第一确认身份QRDA,发送给第二节点B,执行步骤V2V-52。
步骤V2V-45:第二节点B接收到第一节点A发送的第一数据传输包CSDA→B后,判断CSDA→B中任意数据包的目的节点是否是第二节点B;若是,则执行步骤V2V-46;否则,执行步骤V2V-47;
步骤V2V-46:第二节点B生成新的确认信息 并将加入ACKJB中,并执行步骤V2V-47;其中,N指的是任意一个数据包的确认信息的个数;
步骤V2V-47:若CSDA→B中存在有数据包尚未执行完成步骤V2V-45,则返回执行步骤V2V-45,遍历CSDA→B有所有数据包;否则,执行步骤V2V-48;
步骤V2V-48:第二节点B提取ACKJB中的确认信息对应的数据包的身份,生成第二确认身份QRDB,发送给第一节点A,执行步骤V2V-51;
步骤V2V-5:节点间清理数据包
步骤V2V-51:第一节点A接收到第二节点B的第二确认身份QRDB后,第一节点A依据QRDB中所记录的数据包身份来删除PJA中对应的数据包。
步骤V2V-52:第二节点B接收到第一节点A的第一确认身份QRDA后,第二节点B依据QRDA中所记录的数据包身份来删除PJB中对应的数据包。
本发明在V2I通信过程中的具体处理步骤为:
步骤V2I-1:路边单元收集确认信息
步骤V2I-101:第三路边单元R向通信节点集RCNJR中的所有节点广播确认信息收集消息SJDR,执行步骤V2I-102;
步骤V2I-102:第三路边单元R的任意一个通信节点收到确认信息收集消息SJDR后,将它所携带的确认信息集发送给第三路边单元R,执行步骤V2I-103;
步骤V2I-103:若通信节点集RCNJR中尚有通信节点未执行完成步骤V2I-102,则返回执行步骤V2I-102,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-201;
步骤V2I-2:路边单元汇总确认信息
步骤V2I-201:第三路边单元R对收到的任意一个确认信息集执行步骤V2I-202;
步骤V2I-202:对于任意一个确认信息集中的任意一个确认信息ACKx,若RACKJR含有对应的数据包身份为ACKUIDx的确认信息则更新的确认信息承载节点集为 更新的确认信息个数为否则,将ACKx加入RACKJR中,执行步骤V2I-203;
步骤V2I-203:若任意一个确认信息集中尚有确认信息未执行完成步骤V2I-202,则返回执行步骤V2I-202,遍历确认信息集中所有确认信息;否则,执行步骤V2I-204;
步骤V2I-204:若第三路边单元R从通信节点集RCNJR收到的确认信息集中尚有未执行完成步骤V2I-201,则返回执行步骤V2I-201,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-301;
步骤V2I-3:路边单元分发确认信息
步骤V2I-301:对于通信节点集RCNJR中的任意一个通信节点第三路边单元R将的前行方向与道路方向集RFDJR进行方向匹配,找到与相同的道路方向将加入的道路方向节点集中,执行步骤V2I-302;
步骤V2I-302:若通信节点集RCNJR中尚有通信节点未执行完成步骤V2I-301,则返回执行步骤V2I-301,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-303;
步骤V2I-303:对于存储的确认信息集RACKJR中的任意一个确认信息第三路边单元R获取的确认信息承载节点集中所有确认信息承载节点的GPS位置信息,生成GPS位置集 构造确认信息承载节点方向个数集 其中, 的初始值均为0;执行步骤V2I-304;
表示的确认信息承载节点在第一道路方向上的节点个数;
表示的确认信息承载节点在第二道路方向上的节点个数;
表示的确认信息承载节点在第o道路方向上的节点个数,也称为的确认信息承载节点在任意一个道路方向上的节点个数。
步骤V2I-304:对于任意一个确认信息的任意一个确认信息承载节点根据的GPS位置和路边单元的位置信息RGPSR,构造从第三路边单元R到的方向矢量计算得到道路方向集RFDJR中与夹角最小的道路方向然后更新 执行步骤V2I-305;
步骤V2I-305:若任意一个确认信息中尚有确认信息承载节点未执行完成步骤V2I-304,则返回执行步骤V2I-304,遍历任意一个确认信息中所有确认信息承载节点;否则,执行步骤V2I-306;
步V2I-306:构造的道路分配数集 表示在第一道路方向上分发的个数,表示在第二道路方向上分发的个数,表示在第o道路方向上分发的个数,也称为在任意一个道路方向上分发的个数;其中, 其中s表示的确认信息承载节点的个数;执行步骤V2I-307;
步骤V2I-307:判断任意一个确认信息在任意一个道路方向上分发的个数是否为零,若则在任意道路方向上不分发,并执行步骤V2I-310;若则执行步骤V2I-308;
步骤V2I-308:若为空,即在任意道路方向上没有通信节点,则执行步骤V2I-310;若不为空,即在任意道路方向上存在有通信节点,则执行步骤V2I-309;
步骤V2I-309:第三路边单元R向中的每个通信节点发送确认信息发送个数的计算公式为其中q表示在任意道路方向上通信节点的个数;执行步骤V2I-310;
步骤V2I-310:若任意一个确认信息对于某个道路方向尚未执行完成步骤V2I-307,则返回执行步骤V2I-307,遍历道路方向集RFDJR中所有道路方向;否则,执行步骤V2I-311;
步骤V2I-311:若第三确认信息集RACKJR中存在有确认信息尚未执行完成步骤V2I-303,则返回执行步骤V2I-303,遍历第三确认信息集RACKJR中所有确认信息;否则,结束路边单元与车载节点之间的通信。
本发明基于GPS位置分发确认信息的车载网络缓存清理方法有如下优点:
1.本发明方法结合V2V通信和V2I通信,提高了车载网络中对确认信息ACK传输的有效性,减小确认信息ACK传输增加的车载网络传输开销,实现冗余数据包的快速清理,从而释放出车载节点的可用缓存空间。
2.在V2V通信过程中,使用确认信息ACK删除车载节点缓存中已失效的冗余数据包,能够及时释放车载节点的缓存空间。
3.在V2I通信过程中,利用数据包承载节点的GPS位置,实现按车载节点前行方向对确认信息ACK进行分发,避免了无方向传输确认信息ACK对车载网络带宽和车载节点缓存空间造成的浪费。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
本发明的一种基于GPS位置分发确认信息的车载网络缓存清理方法,在V2V通信过程中,当携带确认信息ACK的车载节点与数据包承载节点相遇时,可将冗余数据包从数据包承载节点中清理掉。在V2I通信过程中,路边单元首先收集与其通信的车辆所携带的确认信息ACK;然后获取并分析数据包承载节点的GPS地理位置;再依据数据包在各个前行方向的车载节点上的分布情况;最后将确认信息ACK分发到各个前行方向的车载节点上。本发明提出的方法通过确认信息ACK的分发,提高了确认信息ACK传输到达数据包承载节点的效率,在保证快速清理冗余数据包的同时,极大地降低了确认信息ACK在车载节点上的传输开销。本发明中提出的基于GPS位置分发确认信息的车载网络缓存清理方法简称为RAD方法。
在车载网络中,任意一车辆记为一个车载节点(采用标识号ID),每个车载节点ID经过道路路口时,会与路边单元(采用标识号RID)进行通信。通过路边单元与车载节点的通信(路边单元与车载节点的通信记为V2I通信方式)实现对确认信息(确认信息记为ACK)的分发,所述的确认信息ACK是在数据包传输到达目的车载节点时由目的车载节点产生的。所述的确认信息ACK由车载节点在前行方向上进行携带,并在车载节点之间进行通信(车载节点之间的通信记为V2V通信方式)时,用于清理车载节点的缓存空间,从而提升车载节点缓存利用率,提高了车载网络的数据传输效率。
在本发明中,道路路口以存在的路口个数进行前行方向定义。参见图1所示,若一个道路路口具有4个路口数,则第1个路口记为RA、第2个路口记为RB、第3个路口记为RC和第4个路口记为RD,道路路口以集合的形式表达为ROD={RA,RB,RC,RD}。为了不失一般性,在一个具有多个路口个数的道路路口记为ROD={RA,RB,...,RE},RE表示最后一个路口数,也表示道路路口的任意一个路口数。对于RA路口的前行方向可以是RB路口、RC路口或者RD路口(但每个车辆行驶时,只有唯一的一个前行方向),同理可得,其余路口的前行方向。
在路边单元的通信半径内,能够覆盖整个道路路口ROD。车载节点在经过所述道路路口ROD时,以V2I通信方式与路边单元进行通信的车载节点称为路边-车载-通信节点RCN,以V2I通信方式与路边单元进行通信的所有车载节点构成路边-车载-通信集,记为 其中,表示第一个路边-车载-通信节点,表示第二个路边-车载-通信节点,表示第u个路边-车载-通信节点,也是最后一个路边-车载-通信节点,不失一般性,也称为任意一个路边-车载-通信节点。
在路边单元的通信半径内,向任意一路口RE同向行驶的所有车载节点构成路边-同向节点集 其中,表示第一个路边-同向节点,表示第二个路边-同向节点,表示第z个路边-同向节点,也是最后一个路边-同向节点,不失一般性,也称为任意一个路边-同向节点。
在路边单元的通信半径内,经过所述道路路口ROD的所有路边-同向节点集,构成路边-同向-通信集 其中,表示向路口RA同向行驶的路边-同向节点集,表示向路口RB同向行驶的路边-同向节点集,表示向路口RE同向行驶的路边-同向节点集。
参见图1所示,图中,路口RA上有K车辆;路口RB上有D车辆、E车辆、P车辆;路口RC上有J车辆;路口RD上有F车辆、S车辆、H车辆、G车辆。在该路边单元的通信半径内,P车辆、J车辆、F车辆、S车辆和H车辆构成路边-车载-通信集,记为RCNJRID={P,J,F,S,H}。在该路边单元的通信半径内,向路口RA同向行驶的车辆是J车辆,路边-同向节点集向路口RB同向行驶的车辆是P车辆、S车辆、H车辆,路边-同向节点集没有向路口RC同向行驶的车辆,记为空集,即路边-同向节点集向路口RD同向行驶的车辆是F车辆,路边-同向节点集在路边单元的通信半径内,经过所述道路路口ROD的所有路边-同向节点集,构成路边-同向-通信集路边-同向-通信集也可以等同为
在车载网络中,任意一车载节点携带的信息XDID包括数据包集PJID、车载确认信息集ACKJID、车载前行方向车载GPS信息GPSID(x,y);任意一车载节点携带的信息XDID采用集合表达为 PJID表示任意一车载节点携带的数据包集,ID表示车辆的标识号;ACKJID表示任意一车载节点携带的车载确认信息集,ID表示车辆的标识号;表示任意一车载节点的前行方向,ID表示车辆的标识号;GPSID(x,y)表示任意一车载节点的GPS位置信息,x为经度,y为纬度,ID表示车辆的标识号。
所述 表示第一个数据包,表示第二个数据包,表示第k个数据包,也称为最后一个数据包,不失一般性,也称为任意一个数据包。所述的任意一个数据包 表示数据包摘要,表示数据包的内容,表示数据包的目的车载节点,表示数据包的第一个承载节点,表示数据包的第二个承载节点,表示数据包的第m个承载节点,也称为数据包的最后一个承载节点,不失一般性,也称为数据包的任意一个承载节点。数据包的承载节点是指在车载网络中携带有该数据包的车载节点。
所述 表示第一个车载确认信息,表示第二个车载确认信息,表示第n个车载确认信息,也是最后一个车载确认信息,不失一般性,也称为任意一个车载确认信息。所述任意一个车载确认信息 表示车载确认信息对应的数据包的摘要信息,表示同一数据包在车载节点中的车载确认信息的个数,表示车载确认信息对应数据包的第一个承载节点,表示车载确认信息对应数据包的第二个承载节点,表示车载确认信息对应数据包的第p个承载节点,也表示最后一个承载节点,不失一般性,也称为车载确认信息对应数据包的任意一个承载节点。
参见图1所示,本发明采用基于GPS确认分发的方法来获得对于车载网络缓存中的冗余数据包的高效清理。本发明将V2V通信和V2I通信相结合,V2V通信通过数据包的确认信息,将已到达目的节点的数据包清除;同时,所述确认信息通过V2I通信实现路边单元向各个车载节点的分发;在V2I通信过程中,路边单元首先收集与其通信的车辆所携带的确认信息,再依据数据包在各个前行方向的分布情况,将确认信息分发到各个前行方向的车载节点中。
本发明的一种基于GPS确认分发的车载网络缓存清理方法,该车载网络缓存清理方法同步进行V2V通信和V2I通信;
在车载网络中任意一车载节点携带的信息XDID包括数据包集PJID、确认信息集ACKJID、前行方向FDID、GPS信息GPSID,
采用集合形式表示为XDID={PJID,ACKJID,FDID,GPSID};FDID表示任意一车载节点的前行方向,ID表示车载节点的标识号;GPSID表示标识号为ID节点的GPS位置信息。
其中,数据包集 PJID表示标识号为ID节点携带的数据包集;表示标识号为ID节点携带的第一个数据包(简称为ID-1数据包),表示标识号为ID节点携带的第二个数据包(简称为ID-2数据包),表示标识号为ID节点携带的第k个数据包,也是最后一个数据包,不失一般性,也称为标识号为ID节点携带的任意一个数据包(简称为ID-k数据包);表示ID-k数据包的身份;表示ID-k数据包的源节点,表示ID-k数据包的目的节点,表示ID-k数据包的数据包承载节点集;表示ID-k数据包的第一数据包承载节点,表示ID-k数据包的第二数据包承载节点,表示ID-k数据包的第m数据包承载节点,也是最后一个数据包承载节点,不失一般性,也称为ID-k数据包的任意一个数据包承载节点;
其中,确认信息集 ACKJID表示标识号为ID节点携带的确认信息集;表示标识号为ID节点携带的第一个确认信息(简称为ID-Ack-1确认信息),表示标识号为ID节点携带的第二个确认信息(简称为ID-Ack-2确认信息),表示标识号为ID节点携带的第n个确认信息,也是最后一个确认信息,不失一般性,也称为标识号为ID节点携带的任意一个确认信息(简称为ID-Ack-n确认信息);表示ID-Ack-n确认信息对应的数据包的身份,表示ID-Ack-n确认信息对应的确认信息承载节点集,表示ID-Ack-n确认信息的个数;表示ID-Ack-n确认信息的第一确认信息承载节点,表示ID-Ack-n确认信息的第二确认信息承载节点,表示ID-Ack-n确认信息的第p确认信息承载节点,也是最后一个确认信息承载节点,不失一般性,也称为ID-Ack-n确认信息的任意一个确认信息承载节点。
在本发明中,在V2V通信中所指代的车车通信的节点是指在车载网络中相遇并能够进行相互通讯的节点,为了方便说明,对V2V通信的两个节点分别记为第一节点A和第二节点B,其中第一节点A和第二节点B是任意节点标识号ID的具体指代。
第一节点A携带信息XDA={PJA,ACKJA,FDA,GPSA};FDA表示第一节点A的前行方向;GPSA表示第一节点A的GPS位置信息。
其中, PJA表示第一节点A携带的数据包集;表示第一节点A携带的第一个数据包(简称为A-1数据包),表示第一节点A携带的第二个数据包(简称为A-2数据包),表示第一节点A携带的第a个数据包,也是最后一个数据包,不失一般性,也称为第一节点A携带的任意一个数据包(简称为A-a数据包);表示A-a数据包的身份,表示A-a数据包的源节点,表示A-a数据包的目的节点,表示A-a数据包的数据包承载节点集;表示A-a数据包的第一数据包承载节点,表示A-a数据包的第二数据包承载节点,表示A-a数据包的第b数据包承载节点,也是最后一个数据包承载节点,不失一般性,也称为A-a数据包的任意一个数据包承载节点;
其中, ACKJA表示第一节点A携带的确认信息集;表示第一节点A携带的第一个确认信息(简称为A-Ack-1确认信息),表示第一节点A携带的第二个确认信息(简称为A-Ack-2确认信息),表示第一节点A携带的第c个确认信息,也是最后一个确认信息,不失一般性,也称为第一节点A携带的任意一个确认信息(简称为A-Ack-c确认信息);表示A-Ack-c确认信息对应的数据包的身份,表示A-Ack-c确认信息的确认信息承载节点集,表示A-Ack-c确认信息的个数;表示A-Ack-c确认信息的第一确认信息承载节点,表示A-Ack-c确认信息的第二确认信息承载节点,表示A-Ack-c确认信息的第d确认信息承载节点,也是最后一个确认信息承载节点,不失一般性,也称为A-Ack-c确认信息的任意一个确认信息承载节点。
第二节点B携带信息FDB表示第二节点B的前行方向;GPSB表示第二节点B的GPS位置信息。
其中, PJB表示第二节点B携带的数据包集;表示第二节点B携带的第一个数据包(简称为B-1数据包),表示第二节点B携带的第二个数据包(简称为B-2数据包),表示第二节点B携带的第e个数据包,也是最后一个数据包,不失一般性,也称为第二节点B携带的任意一个数据包(简称为B-e数据包);表示B-e数据包的身份,表示B-e数据包的源节点,表示B-e数据包的目的节点,表示B-e数据包的数据包承载节点集;表示B-e数据包的第一数据包承载节点,表示B-e数据包的第二数据包承载节点,表示B-e数据包的第f数据包承载节点,也是最后一个数据包承载节点,不失一般性,也称为B-e数据包的任意一个数据包承载节点;
其中, ACKJB表示第二节点B携带的确认信息集;表示第二节点B携带的第一个确认信息(简称为B-Ack-1确认信息),表示第二节点B携带的第二个确认信息(简称为B-Ack-2确认信息),表示第二节点B携带的第g个确认信息,也是最后一个确认信息,不失一般性,也称为第二节点B携带的任意一个确认信息(简称为B-Ack-g确认信息);表示B-Ack-g确认信息对应的数据包的身份,表示B-Ack-g确认信息的确认信息承载节点集,表示B-Ack-g确认信息的个数;表示B-Ack-g确认信息的第一确认信息承载节点,表示B-Ack-g确认信息的第二确认信息承载节点,表示B-Ack-g确认信息的第h确认信息承载节点,也是最后一个确认信息承载节点,不失一般性,也称为B-Ack-g确认信息的任意一个确认信息承载节点。
(一)车载节点间的V2V通信
参见图2所示,在V2V通信中,第一节点A与第二节点B相遇时的缓存清理策略执行下列步骤:
步骤V2V-1:节点间身份摘要交换
步骤V2V-11:第一节点A将PJA中A-1数据包的身份数据包的身份数据包的身份生成第一节点A的第一身份摘要发送给第二节点B,执行步骤V2V-22;
步骤V2V-12:第二节点B将PJB中B-1数据包的身份数据包的身份数据包的身份生成第二节点B的第二身份摘要发送给第一节点A,执行步骤V2V-21;
步骤V2V-2:节点间请求补缺数据
步骤V2V-21:第一节点A接收到第二节点B的第二身份摘要ZYDB后,进行数据包身份匹配;第一节点A的数据包身份匹配是指,找出存在于第二数据摘要ZYDB中且不存在于第一数据摘要ZYDA中的数据包的身份,生成第一请求信息 然后,第一节点A将第一请求信息QQDA发送给第二节点B,执行步骤V2V-32;
其中, 中的表示需要由第二节点B发送给第一节点A的第一个数据包的身份,表示需要由第二节点B发送给第一节点A的第二个数据包的身份,表示需要由第二节点B发送给第一节点A的第i个数据包的身份,也称为需要由第二节点B发送给第一节点A的任意一个数据包的身份。
步骤V2V-22:第二节点B接收到第一节点A的第一身份摘要ZYDA后,进行数据包身份匹配;第二节点B的数据包身份匹配是指,找出存在于第一数据摘要ZYDA中且不存在于第二数据摘要ZYDB中的数据包的身份,生成第二请求信息 然后,第二节点B将第二请求信息QQDB发送给第一节点A,执行步骤V2V-31;
其中, 中的表示需要由第一节点A发送给第二节点B的第一个数据包的身份,表示需要由第一节点A发送给第二节点B的第二个数据包的身份,表示需要由第一节点A发送给第二节点B的第j个数据包的身份,也称为需要由第一节点A发送给第二节点B的任意一个数据包的身份。
步骤V2V-3:节点间传输数据包
步骤V2V-31:第一节点A接收到第二节点B的第二请求信息QQDB后,第一节点A将第二节点B的标识号B,分别加入到在PJA中所对应的数据包承载节点集中;然后,第一节点A生成第一数据传输包第一节点A将CSDA→B发送给第二节点B,执行步骤V2V-45;
步骤V2V-32:第二节点B接收到第一节点A的第一请求信息QQDA后,第二节点B将第一节点A的标识号A,分别加入到在PJB中所对应的数据包承载节点集中;然后,第二节点B生成第二数据传输包第二节点B将CSDB→A发送给第一节点A,执行步骤V2V-41;
步骤V2V-4:节点间发送确认信息
步骤V2V-41:第一节点A接收到第二节点B发送的第二数据传输包CSDB→A后,判断CSDB→A中任意数据包的目的节点是否是第一节点A;若是,则执行步骤V2V-42;否则,执行步骤V2V-43;
步骤V2V-42:第一节点A生成新的确认信息 并将加入ACKJA中,并执行步骤V2V-43;其中,N指的是任意一个数据包的确认信息的个数;
步骤V2V-43:若CSDB→A中存在有数据包尚未执行完成步骤V2V-41,则返回执行步骤V2V-41,遍历CSDB→A有所有数据包;否则,执行步骤V2V-44;
步骤V2V-44:第一节点A提取ACKJA中的确认信息对应的数据包的身份,生成第一确认身份QRDA,发送给第二节点B,执行步骤V2V-52。
步骤V2V-45:第二节点B接收到第一节点A发送的第一数据传输包CSDA→B后,判断CSDA→B中任意数据包的目的节点是否是第二节点B;若是,则执行步骤V2V-46;否则,执行步骤V2V-47;
步骤V2V-46:第二节点B生成新的确认信息 并将加入ACKJB中,并执行步骤V2V-47;其中,N指的是任意一个数据包的确认信息的个数;
步骤V2V-47:若CSDA→B中存在有数据包尚未执行完成步骤V2V-45,则返回执行步骤V2V-45,遍历CSDA→B有所有数据包;否则,执行步骤V2V-48;
步骤V2V-48:第二节点B提取ACKJB中的确认信息对应的数据包的身份,生成第二确认身份QRDB,发送给第一节点A,执行步骤V2V-51;
步骤V2V-5:节点间清理数据包
步骤V2V-51:第一节点A接收到第二节点B的第二确认身份QRDB后,第一节点A依据QRDB中所记录的数据包身份来删除PJA中对应的数据包。
步骤V2V-52:第二节点B接收到第一节点A的第一确认身份QRDA后,第二节点B依据QRDA中所记录的数据包身份来删除PJB中对应的数据包。
在本发明中,V2I通信的路边单元是指放置在路口处,具有一定存储空间和计算能力,能够获取所有车辆的前行方向和GPS信息的通讯装置。在车载网络中任意路边单元R携带的信息RDRID包括通信节点集RCNJRID、道路方向集RFDJRID、道路方向节点集RFDNJRID、确认信息集RACKJRID和GPS信息RGPSRID,采用集合形式表示为RDRID={RCNJRID,RFDJRID,RFDNJRID,RACKJRID,RGPSRID};RACKJRID表示标示号为RID的路边单元所存储的确认信息集,RID表示路边单元的标识号;RGPSRID表示标识号为RID的路边单元的GPS位置信息。
其中,通信节点集 RCNJRID表示标识号为RID的路边单元的通信节点集;表示标识号为RID的路边单元的第一个通信车载节点,表示标识号为RID的路边单元的第二个通信车载节点,表示标识号为RID的路边单元的第u个通信车载节点,也称为标识号为RID的路边单元的任意一个通信车载节点;
其中,道路方向集 RFDJRID表示标识号为RID的路边单元的道路方向集;,表示标识号为RID的路边单元的第一道路方向,表示标识号为RID的路边单元的第二道路方向,表示标识号为RID的路边单元的第v道路方向,也称为标识号为RID的路边单元的任意一个道路方向;如丁字路口的道路方向有3个,十字路口的道路方向有4个,立交桥的道路方向一般为4个以上。
其中,道路方向节点集 RFDNJRID表示标识号为RID的路边单元在所有道路方向上的通信节点集的集合;表示标识号为RID的路边单元在第一道路方向上的通信节点集,表示标识号为RID的路边单元在第二道路方向上的通信节点集,表示标识号为RID的路边单元在第v道路方向上的通信节点集,也称为标识号为RID的路边单元在任意一个道路方向上的通信节点集;表示标识号为RID的路边单元在第v道路方向上的第一个通信节点,表示标识号为RID的路边单元在第v道路方向上的第二个通信节点,表示标识号为RID的路边单元在第v道路方向上的第z个通信节点,也称为标识号为RID的路边单元在第v道路方向上的任意一个通信节点。
为了方便说明,对路边单元记为第三路边单元R,第三路边单元R是任意路边单元标识号RID的具体指代。
第三路边单元R携带信息RDR={RCNJR,RFDJR,RFDNJR,RACKJR,RGPSR},RACKJR表示第三路边单元R所存储的确认信息集;RGPSRID表示第三路边单元R的GPS位置信息,所述GPS位置信息为地理位置的经度、纬度。
其中,RCNJR表示第三路边单元R的通信节点集;表示第三路边单元R的第一个通信节点,表示第三路边单元R的第二个通信节点,表示第三路边单元R的第l个通信节点,也称为第三路边单元R的任意一个通信节点;在本发明中,路边单元的通信节点是指能够与路边单元进行通信的车载节点。
其中,RFDJR表示第三路边单元R的道路方向集;表示第三路边单元R的第一道路方向,表示第三路边单元R的第二道路方向,表示第三路边单元R的第o道路方向,也称为第三路边单元R的任意一个道路方向;
其中, ,RFDNJR表示第三路边单元R在所有道路方向上的通信节点集的集合;表示第三路边单元R在第一道路方向上的通信节点集,表示第三路边单元R在第二道路方向上的通信节点集,表示第三路边单元R在第o道路方向上的通信节点集,也称为第三路边单元R在任意一个道路方向上的通信节点集;表示第三路边单元R在第o道路方向上的第一个通信节点,表示第三路边单元R在第o道路方向上的第二个通信节点,表示第三路边单元R在第o道路方向上的第q个通信节点,也称为第三路边单元R在第o道路方向上的任意一个通信节点。
(二)车载节点与路边单元之间的V2I通信
参见图3所示,在V2I通信中,第三路边单元R对确认信息的分发执行下列步骤:
步骤V2I-1:路边单元收集确认信息
步骤V2I-101:第三路边单元R向通信节点集RCNJR中的所有节点广播确认信息收集消息SJDR,执行步骤V2I-102;
步骤V2I-102:第三路边单元R的任意一个通信节点收到确认信息收集消息SJDR后,将它所携带的确认信息集发送给第三路边单元R,执行步骤V2I-103;
步骤V2I-103:若通信节点集RCNJR中尚有通信节点未执行完成步骤V2I-102,则返回执行步骤V2I-102,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-201;
步骤V2I-2:路边单元汇总确认信息
步骤V2I-201:第三路边单元R对收到的任意一个确认信息集执行步骤V2I-202;
步骤V2I-202:对于任意一个确认信息集中的任意一个确认信息ACKx,若RACKJR含有对应的数据包身份为ACKUIDx的确认信息则更新的确认信息承载节点集为 更新的确认信息个数为否则,将ACKx加入RACKJR中,执行步骤V2I-203;
步骤V2I-203:若任意一个确认信息集中尚有确认信息未执行完成步骤V2I-202,则返回执行步骤V2I-202,遍历确认信息集中所有确认信息;否则,执行步骤V2I-204;
步骤V2I-204:若第三路边单元R从通信节点集RCNJR收到的确认信息集中尚有未执行完成步骤V2I-201,则返回执行步骤V2I-201,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-301;
步骤V2I-3:路边单元分发确认信息
步骤V2I-301:对于通信节点集RCNJR中的任意一个通信节点第三路边单元R将的前行方向与道路方向集RFDJR进行方向匹配,找到与相同的道路方向将加入的道路方向节点集中,执行步骤V2I-302;
步骤V2I-302:若通信节点集RCNJR中尚有通信节点未执行完成步骤V2I-301,则返回执行步骤V2I-301,遍历通信节点集RCNJR中所有通信节点;否则,执行步骤V2I-303;
步骤V2I-303:对于存储的确认信息集RACKJR中的任意一个确认信息第三路边单元R获取的确认信息承载节点集中所有确认信息承载节点的GPS位置信息,生成GPS位置集 构造确认信息承载节点方向个数集 其中,的初始值均为0;执行步骤V2I-304;
表示的确认信息承载节点在第一道路方向上的节点个数;
表示的确认信息承载节点在第二道路方向上的节点个数;
表示的确认信息承载节点在第o道路方向上的节点个数,也称为的确认信息承载节点在任意一个道路方向上的节点个数。
步骤V2I-304:对于任意一个确认信息的任意一个确认信息承载节点根据的GPS位置和路边单元的位置信息RGPSR,构造从第三路边单元R到的方向矢量计算得到道路方向集RFDJR中与夹角最小的道路方向如图4所示;然后更新 执行步骤V2I-305;在图4的东南西北四个道路方向上,路边单元R(实心圆)与确认信息承载节点(三角形)的方向矢量记为方向矢量与东南西北四个道路方向的夹角分别记为αE、αW、αS、αN。通过比较αE、αW、αS和αN的角度大小,选取最小的夹角(如αN)所对应的道路方向(如N)作为最优传输方向。
步骤V2I-305:若任意一个确认信息中尚有确认信息承载节点未执行完成步骤V2I-304,则返回执行步骤V2I-304,遍历任意一个确认信息中所有确认信息承载节点;否则,执行步骤V2I-306;
步V2I-306:构造的道路分配数集 表示在第一道路方向上分发的个数,表示在第二道路方向上分发的个数,表示在第o道路方向上分发的个数,也称为在任意一个道路方向上分发的个数;其中, 其中s表示的确认信息承载节点的个数;执行步骤V2I-307;
步骤V2I-307:判断任意一个确认信息在任意一个道路方向上分发的个数是否为零,若则在任意道路方向上不分发,并执行步骤V2I-310;若则执行步骤V2I-308;
步骤V2I-308:若为空,即在任意道路方向上没有通信节点,则执行步骤V2I-310;若不为空,即在任意道路方向上存在有通信节点,则执行步骤V2I-309;
步骤V2I-309:第三路边单元R向中的每个通信节点发送确认信息发送个数的计算公式为其中q表示在任意道路方向上通信节点的个数;执行步骤V2I-310;
步骤V2I-310:若任意一个确认信息对于某个道路方向尚未执行完成步骤V2I-307,则返回执行步骤V2I-307,遍历道路方向集RFDJR中所有道路方向;否则,执行步骤V2I-311;
步骤V2I-311:若第三确认信息集RACKJR中存在有确认信息尚未执行完成步骤V2I-303,则返回执行步骤V2I-303,遍历第三确认信息集RACKJR中所有确认信息;否则,结束路边单元与车载节点之间的通信。