掌桥专利:专业的专利平台
掌桥专利
首页

一种基于车联网的数据传输方法及系统

文献发布时间:2023-06-19 12:11:54


一种基于车联网的数据传输方法及系统

技术领域

本发明属于车联网技术、汽车通信技术领域,具体涉及一种基于车联网的数据传输方法及系统。

背景技术

在公路上进行高速行驶的汽车之间的数据传输对移动网络的数据传输量的计算与分配提出了高要求,高速位移中的汽车的运动方向与运动轨迹是处于动态的变化中的,汽车与汽车之间通过无线传输装备而相互连接形成的局部的网络拓扑结构也是暂时的且动态变化中的,当局部的网络拓扑结构中的一辆或多辆汽车运动的轨迹偏离了局部的网络拓扑结构时,需要高效地调整计算该局部的网络拓扑结构中的车辆与其他的局部的网络拓扑结构中的车辆的连接,其中计算选择出网络拓扑结构中的负责在网络之间进行数据传输的传输节点是一个关键任务,传输节点的计算选取以及新的传输节点与旧的传输节点的交替中的数据传输任务的维护与任务的分配需要具有更高效率且具有更高兼容性的计算方法,然而,当前的基于简单的路由机制的算法及其系统不足以承担高效率、高兼容的运算任务。

发明内容

本发明的目的在于提出一种基于车联网的数据传输方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。

在高速移动的动态的车联网中,传输节点的选择是高速而动态的,各个局部的通信子网中负责与其他的通信子网络进行数据沟通的传输节点的选取应该是一个动态的任务,在一个通信子网络的传输节点已经在其唯一过程中离该通信子网的其他车节点的距离越发增大,该传输节点与其他车节点在改通信子网中的数据传输能耗亦随之越发增大,则需要动态计算传输节点的选取,并高效地计算在新旧传输节点的更迭之间该通信子网中各车间点的数据传输任务的分配。

本发明提供了一种基于车联网的数据传输方法及系统,通过计算各车节点与各车节点所在的通信子网的实际通信量得到通信阈值以此选取车节点构成通信子网,并在每个通信子网中选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点,当此传输节点要脱离该通信子网时计算出将数据传输量按比例地将原本的传输节点的数据传输量分配给其他的车节点,由此实现对各车联网的通信子网的动态的传输任务的比例计算与任务分配。

为了实现上述目的,根据本发明的一方面,提供一种基于车联网的数据传输方法,所述方法包括以下步骤:

S100,以每辆汽车作为一个车节点,所述车节点安装有ZigBee无线通信设备并以此与其他车节点连接进行数据通信,将能够与本车节点连接进行数据通信的所有车节点作为该车节点的邻近节点;

S200,基于计算各车节点与各车节点对应的所有邻近节点的实际通信量所得的阈值为通信阈值,所述实际通信量由计算各车节点之间的通信的网络吞吐量所得;

S300,多个在通信阈值内的车节点作为一个通信子网,所有的通信子网作为一个通信总网;

S400,在每个通信子网中,选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点;

S500,当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时,该通信子网将此传输节点在通信子网中移除,并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点;

S600,在通信子网将传输节点在通信子网中移除的过程中,传输节点将自身的传输中的实际通信量按权重分配给该通信子网中的其他车节点,直到重新选取出新的传输节点后,该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点。

进一步地,在S100中,以每辆汽车作为一个车节点,所述车节点安装有ZigBee无线通信设备并以此与其他车节点连接进行数据通信,将能够与本车节点连接进行数据通信的所有车节点作为该车节点的邻近节点,方法为:在每个车节点上安装ZigBee无线通信设备,当车节点需要发起数据通信或者转发数据时,车节点通过无线通信设备获取各个邻近的车节点的数量n、位置距离l和网络吞吐量m,所述ZigBee无线通信在实际的高速行驶环境下的覆盖范围为600米到1000米,所述邻近节点为通过无线通信设备能够相互进行连接的车节点,所述汽车包括所有的由动力驱动并具有4个或4个以上车轮的非轨道承载的车辆,所述车联网指多个汽车之间通过无线通信设备互相连接形成的数据传输网络。

进一步地,在S200中,基于计算各车节点与各车节点对应的所有邻近节点的实际通信量所得的阈值为通信阈值,所述实际通信量由计算各车节点之间的通信的网络吞吐量所得,方法为:通过计算获取到的多个邻近的车节点的数量n、以及各个邻近的车节点的位置距离l和网络吞吐量m,记所有的车节点为集合A={ a_i },变量i为车节点的序号,令k表示集合A中所有车节点的数量,n小于k,所述n个邻近的车节点仅为集合A的一个子集记作集合P,表示车节点a_i通过无线通信设备能够相互进行连接的多个车节点,a_i表示集合A中序号为i的车节点,m_i表示集合A中序号为i的车节点a_i的网络吞吐量,函数Mo()为通过输入车节点而获取该车节点的网络吞吐量的函数,Mo(a_i)表示输入车节点a_i而获取车节点a_i的网络吞吐量即m_i= Mo(a_i),Dis()为计算两个车节点间的位置距离l的函数,所述位置距离l为两车节点之间的欧氏距离,函数exp()为计算求出以自然数 e为底的对数,求出实际通信量的公式为:

根据m_i和P计算实际通信量c的函数记为Com(),Com(m_i,P)表示车节点a_i在车节点的集合P中的实际通信量,计算实际通信量有助于衡量各车节点在各自不同的网络吞吐量和不同的相隔距离的情况下实际的传输数据的水平,进而计算通信阈值为:

则由此筛选出车节点a_i通过无线通信设备能够相互进行连接的n个车节点中可构成通信子网的车节点,计算通信阈值有助于获取通信子网的车节点的实际通信量的平均水平,即从集合P中通过计算实际通信量和通信阈值选出其中实际通信量大于通信阈值的车节点作为一个通信子网。

进一步地,在S300中,多个在通信阈值内的车节点作为一个通信子网,所有的通信子网作为一个通信总网,方法为:

记所有的车节点为集合A={a_i},变量i为车节点的序号,变量k表示集合A中所有车节点的数量,a_i为集合A中序号为i的车节点,记通信子网为集合S,S为A的真子集,所有通信子网S的集合记为集合Set,变量j为集合A中通信子网的序号,变量m表示集合A中所有通信子网的数量,函数Cu()为取两集合补集的函数,为了有助于将各个车节点在实际的行驶场景中连接构成通信子网,将车节点组成通信子网的具体步骤如下:

S301,令变量i为车节点的序号中最小的序号,则车节点a_i为集合A中序号最小的车节点,令集合Set为空集,转到S302;

S302,令车节点a_i获取到的各个邻近的车节点为集合G, G中的车节点个数为n,以变量p表示集合G中元素的序号,变量q为集合G中元素的数量,在G中分别计算各个车节点的各自的邻近的车节点的作为集合candG,candG_p表示集合G中序号为p的车节点的邻近的车节点的集合,μ_p表示集合candG_p中的通信阈值,转到S3031;

S3031,在集合G中,通过S200中的通信阈值计算方法计算出集合G的通信阈值μ_i,获取集合G中实际通信量大于通信阈值μ_i的车节点元素作为集合G_i_μ,转到S3032;

S3032,在集合G中,选取车节点的序号中最小的序号为p,则最小的序号的车节点为a_p,转到S3033;

S3033,在集合G中,通过S200中的通信阈值计算方法计算出车节点a_p的邻近的车节点集合candG_p的通信阈值μ_p,获取集合candG_p中通信阈值大于μ_p的车节点元素作为集合G_p_μ,转到S3034;

S3034,取集合G_i_μ和集合G_p_μ的交集ρ,当ρ为非空集合时转到S3035,当两集合的交集为空集时转到S3036;

S3035,若S为空集则转到S30351,若S不为空集则转到S30352;

S30351,将ρ中的各个车节点元素加入到S中,转到S3036;

S30352,取S和ρ的交集为S∩ρ,删除S中所有元素并将S∩ρ中的各个车节点元素加入到S中,转到S3036;

S3036,若p小于n,则令p的值增加1,转到S3031;若p大于或等于n则转到S3037;

S3037,将集合S加入到集合Set中,取集合A和集合S的补集Cu(A,S),将Cu(A,S)中的各个车节点元素加入到A中以后:若集合A为空则输出所有通信子网的集合Set;若集合A不为空,则取S中元素的数量为d,令i等于i+d,转到S302。

进一步地,在S400中,在每个通信子网中,选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点,方法为:令通信子网S_j表示通信总网中的第j个通信子网,S_j中的元素的数量为d_j,变量i_j表示S_j中的车节点的序号,a_i_j表示通信总网S中的第j个通信子网中序号为i的车节点,则S_j={a_1_j,a_2_j,…, a_(d-1)_j, a_(d_j)_j,},m_i_j表示通信总网中的第j个通信子网中序号为i的车节点的网络吞吐量, a_(S_j)表示通信子网S_j中的传输节点,Cu(S_j,A)为计算集合S_j和集合A的补集,len(S_j,A)为计算集合S_j和集合A的补集中的元素的数量, 变量y表示集合Cu(S_j,A)中的车节点的序号,变量Y表示集合Cu(S_j,A)中的车节点的数量, Dis()为计算两个车节点间的位置距离的函数,计算各车节点与其他的通信子网距离的函数为f(),变量a_y_j表示{a_1_j, a_2_j,…, a_y_j},y∈[1,Y],函数Mo()为通过输入车节点而获取该车节点的网络吞吐量的函数,Mo(a_i)表示输入车节点a_i而获取车节点a_i的网络吞吐量,Mo(a_i_j)表示输入车节点a_i_j而获取车节点a_i_j的网络吞吐量,函数exp()为计算求出以自然数e为底的对数,其公式为:

则f(a_i_j)表示通信子网S_j中的第j个通信子网中序号为i的车节点a_i_j与A中其他的通信子网距离的算术平均值,由此计算通信子网S_j中的各车节点与其他的通信子网距离作为集合F={f(a_i_j), a_i_j∈S_j },计算各车节点与其他的通信子网距离有助于衡量一个通信子网中的车节点与其他的通信子网的距离以此求出一个通信子网中的传输节点,进而选取集合F中数值最小的元素对应的车节点作为通信子网S_j中的传输节点。

进一步地,在S500中,当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时,该通信子网将此传输节点在通信子网中移除,并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点,方法为:当通信子网S_j中的传输节点a_(S_j)与S_j中的其他车节点的实际通信量的算术平均值小于通过S200所述方法计算所得的a_(S_j)与S_j中的其他车节点的通信阈值时,则S_j不再将此a_(S_j)作为传输节点,通信子网S_j将车节点a_(S_j)进行移除,即通过S400所述方法计算出通信子网S_j里大于通信阈值的车节点中与A中其他通信子网距离最小的车节点作为新的传输节点。

进一步地,在S600中,在通信子网将传输节点在通信子网中移除的过程中,传输节点将自身的传输中的实际通信量按权重分配给该通信子网中的其他车节点,直到重新选取出新的传输节点后,该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点,方法为:在通信子网S_j将车节点a_(S_j)进行移除的过程中,取通信子网S_j和车节点a_(S_j)的补集Cu(S_j,a_(S_j)),记Cu(S_j,a_(S_j))的元素的数量为d`,传输节点将自身的传输中的实际通信量按权重地分配给该通信子网中的其他车节点的权重为d`维的向量W,向量W中各维度的数值为百分数,各维度的百分数对应的是通信子网S_j中除了a_(S_j)外的d`个车节点需要分配的权重,令变量t表示集合Cu(S_j,a_(S_j))中元素的序号,t为正整数且t∈[1, d`],a_t表示集Cu(S_j,a_(S_j))中序号为t的车节点,Dis()为计算两个车节点间的位置距离的函数,函数exp()为计算求出以自然数 e为底的对数,w_t表示计算向量W中第t维数值的过程中所用到的变量,W(t)表示计算向量W中第t维的权重的数值,则W可表示为:

其中,

则通信子网S_j中的旧的传输节点a_(S_j)按照向量W的各维度的百分数作为比例,分别向各维度对应的车节点按权重地进行旧的传输节点的实际通信量的分配,直到重新选取出新的传输节点后,计算向量W中第t维的权重的数值有助于该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点,各个车节点在对应的通信子网中通过通信节点按照分配好的实际通信量与其它通信子网进行数据通信传输。

本发明还提供了一种基于车联网的数据传输系统,所述一种基于车联网的数据传输系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1中的一种基于车联网的数据传输方法中的步骤以此控制汽车、无线通信设备以及多个汽车之间通过无线通信设备互相连接形成的数据传输网络,所述一种基于车联网的数据传输系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:

节点通信单元,用于以各车节点通过无线通信设备与其他车节点进行数据通信;

通信阈值计算单元,用于计算各车节点与各车节点所在的通信子网的实际通信量得到通信阈值;

通信网络构建单元,用于将多个在通信阈值内的车节点作为一个通信子网并将所有的通信子网作为一个通信总网;

传输节点计算单元,用于在每个通信子网中选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点;

传输节点移除单元,用于当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时将此传输节点在通信子网中移除并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点;

传输节点分配单元,用于在通信子网将传输节点在通信子网中移除的过程中将传输节点自身的传输中的实际通信量按权重地分配给该通信子网中的其他车节点,并在重新选取出新的传输节点后将分配到的实际通信量分配给新的传输节点。

本发明的有益效果为:本发明提供了一种基于车联网的数据传输方法及系统,通过计算各车节点与各车节点所在的通信子网的实际通信量得到通信阈值以此选取车节点构成通信子网,并在每个通信子网中选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点,当此传输节点要脱离该通信子网时计算出将数据传输量按比例地将原本的传输节点的数据传输量分配给其他的车节点,由此实现对各车联网的通信子网的动态的传输任务的比例计算与任务分配。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1所示为一种基于车联网的数据传输方法的流程图;

图2所示为一种基于车联网的数据传输系统的系统结构图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

如图1所示为根据本发明的一种基于车联网的数据传输方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于车联网的数据传输方法及系统。

本发明提出一种基于车联网的数据传输方法,所述方法具体包括以下步骤:

S100,以每辆汽车作为一个车节点,所述车节点安装有ZigBee无线通信设备并以此与其他车节点连接进行数据通信,将能够与本车节点连接进行数据通信的所有车节点作为该车节点的邻近节点;

S200,基于计算各车节点与各车节点对应的所有邻近节点的实际通信量所得的阈值为通信阈值,所述实际通信量由计算各车节点之间的通信的网络吞吐量所得;

S300,多个在通信阈值内的车节点作为一个通信子网,所有的通信子网作为一个通信总网;

S400,在每个通信子网中,选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点;

S500,当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时,该通信子网将此传输节点在通信子网中移除,并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点;

S600,在通信子网将传输节点在通信子网中移除的过程中,传输节点将自身的传输中的实际通信量按权重分配给该通信子网中的其他车节点,直到重新选取出新的传输节点后,该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点。

进一步地,在S100中,以每辆汽车作为一个车节点,所述车节点安装有ZigBee无线通信设备并以此与其他车节点连接进行数据通信,将能够与本车节点连接进行数据通信的所有车节点作为该车节点的邻近节点,方法为:在每个车节点上安装ZigBee无线通信设备,当车节点需要发起数据通信或者转发数据时,车节点通过无线通信设备获取各个邻近的车节点的数量n、位置距离l和网络吞吐量m,所述ZigBee无线通信在实际的高速行驶环境下的覆盖范围为600米到1000米或者车节点之间的无线通信的RSSI的范围是[-93,-113],所述邻近节点为通过无线通信设备能够相互进行连接的车节点,所述汽车包括所有的由动力驱动并具有4个或4个以上车轮的非轨道承载的车辆,所述车联网指多个汽车之间通过无线通信设备互相连接形成的数据传输网络。

进一步地,在S200中,基于计算各车节点与各车节点对应的所有邻近节点的实际通信量所得的阈值为通信阈值,所述实际通信量由计算各车节点之间的通信的网络吞吐量所得,方法为:通过计算获取到的多个邻近的车节点的数量n、以及各个邻近的车节点的位置距离l和网络吞吐量m,记所有的车节点为集合A={ a_i },变量i为车节点的序号,令k表示集合A中所有车节点的数量,例如当n等于10而k等于100时,集合A中所有的车节点的数量为100,其中10个邻近的车节点仅为集合A的一个子集,记作集合P,表示车节点a_i通过无线通信设备能够相互进行连接的多个车节点,a_i表示集合A中序号为i的车节点,m_i表示集合A中序号为i的车节点a_i的网络吞吐量,函数Mo()为通过输入车节点而获取该车节点的网络吞吐量的函数,Mo(a_i)表示输入车节点a_i而获取车节点a_i的网络吞吐量即m_i= Mo(a_i),Dis()为计算两个车节点间的位置距离l的函数,所述位置距离l为两车节点之间的欧氏距离,函数exp()为计算求出以自然数e为底的对数,求出实际通信量的公式为:

根据m_i和P计算实际通信量c的函数记为Com(),Com(m_i,P)表示车节点a_i在车节点的集合P中的实际通信量,计算实际通信量有助于衡量各车节点在各自不同的网络吞吐量和不同的相隔距离的情况下实际的传输数据的水平,进而计算通信阈值为:

则由此筛选出车节点a_i通过无线通信设备能够相互进行连接的n个车节点中可构成通信子网的车节点,计算通信阈值有助于获取通信子网的车节点的实际通信量的平均水平,即从集合P中通过计算实际通信量和通信阈值选出其中实际通信量大于通信阈值的车节点作为一个通信子网。

进一步地,在S300中,多个在通信阈值内的车节点作为一个通信子网,所有的通信子网作为一个通信总网,方法为:

记所有的车节点为集合A={a_i},变量i为车节点的序号,变量k表示集合A中所有车节点的数量,a_i为集合A中序号为i的车节点,记通信子网为集合S,S为A的真子集,所有通信子网S的集合记为集合Set,变量j为集合A中通信子网的序号,变量m表示集合A中所有通信子网的数量,函数Cu()为取两集合补集的函数,为了有助于将各个车节点在实际的行驶场景中连接构成通信子网,将车节点组成通信子网的具体步骤如下:

S301,令变量i为车节点的序号中最小的序号,则车节点a_i为集合A中序号最小的车节点,令集合Set为空集,转到S302;

S302,令车节点a_i获取到的各个邻近的车节点为集合G, G中的车节点个数为n,以变量p表示集合G中元素的序号,变量q为集合G中元素的数量,在G中分别计算各个车节点的各自的邻近的车节点的作为集合candG,candG_p表示集合G中序号为p的车节点的邻近的车节点的集合,μ_p表示集合candG_p中的通信阈值,转到S3031;

S3031,在集合G中,通过S200中的通信阈值计算方法计算出集合G的通信阈值μ_i,获取集合G中实际通信量大于通信阈值μ_i的车节点元素作为集合G_i_μ,转到S3032;

S3032,在集合G中,选取车节点的序号中最小的序号为p,则最小的序号的车节点为a_p,转到S3033;

S3033,在集合G中,通过S200中的通信阈值计算方法计算出车节点a_p的邻近的车节点集合candG_p的通信阈值μ_p,获取集合candG_p中通信阈值大于μ_p的车节点元素作为集合G_p_μ,转到S3034;

S3034,取集合G_i_μ和集合G_p_μ的交集ρ,当ρ为非空集合时转到S3035,当两集合的交集为空集时转到S3036;

S3035,若S为空集则转到S30351,若S不为空集则转到S30352;

S30351,将ρ中的各个车节点元素加入到S中,转到S3036;

S30352,取S和ρ的交集为S∩ρ,删除S中所有元素并将S∩ρ中的各个车节点元素加入到S中,转到S3036;

S3036,若p小于n,则令p的值增加1,转到S3031;若p大于或等于n则转到S3037;

S3037,将集合S加入到集合Set中,取集合A和集合S的补集Cu(A,S),将Cu(A,S)中的各个车节点元素加入到A中以后:若集合A为空则输出所有通信子网的集合Set;若集合A不为空,则取S中元素的数量为d,令i等于i+d,转到S302;

在S300过程中所用到部分的关键的Python语言实现的代码包括:

'''选取车节点组成通信子网'''

A=utils.getAllElements(True) #获取所有的车节点

Sset =utils.getFromAll(A, 0) #获取所有通信子网S的集合

d=candG_p(Sset,n)

G_i_u, G_p_u = utils.zeroSet(), utils.zeroSet()

G_i_u=zeros(n)

rad=1

i=1

while(i<=d): #循环遍历车节点

count=zeros(10) #循环初始化清零

for j in range(n):

k=(Sset[j]/rad)%10

count[k]+=1

for m in range(1,10):

count[m]+=count[m-1]

for l in range(n)[::-1]:

kk=(Sset[l]/rad)%10

G_i_u[count[kk]-1]=Sset[l]

count[kk]-=1

for ii in range(n):

Sset[ii]=int(G_i_u[ii])

rad=10

i+=1

return Sset #此处为车联网的通信子网的选择

def candG_p(S,n):

d=0

G_p=len(utils.filter(S))

while(G_p>0):

G_p=G_p/10

d+=1

return d。

进一步地,在S400中,在每个通信子网中,选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点,方法为:令通信子网S_j表示通信总网中的第j个通信子网,S_j中的元素的数量为d_j,变量i_j表示S_j中的车节点的序号,a_i_j表示通信总网S中的第j个通信子网中序号为i的车节点,则S_j={a_1_j,a_2_j,…, a_(d-1)_j, a_(d_j)_j,},m_i_j表示通信总网中的第j个通信子网中序号为i的车节点的网络吞吐量, a_(S_j)表示通信子网S_j中的传输节点,Cu(S_j,A)为计算集合S_j和集合A的补集,len(S_j,A)为计算集合S_j和集合A的补集中的元素的数量, 变量y表示集合Cu(S_j,A)中的车节点的序号,变量Y表示集合Cu(S_j,A)中的车节点的数量, Dis()为计算两个车节点间的位置距离的函数,计算各车节点与其他的通信子网距离的函数为f(),变量a_y_j表示{a_1_j, a_2_j,…, a_y_j},y∈[1,Y],函数Mo()为通过输入车节点而获取该车节点的网络吞吐量的函数,Mo(a_i)表示输入车节点a_i而获取车节点a_i的网络吞吐量,Mo(a_i_j)表示输入车节点a_i_j而获取车节点a_i_j的网络吞吐量,函数exp()为计算求出以自然数e为底的对数,其公式为:

则f(a_i_j)表示通信子网S_j中的第j个通信子网中序号为i的车节点a_i_j与A中其他的通信子网距离的算术平均值,由此计算通信子网S_j中的各车节点与其他的通信子网距离作为集合F={f(a_i_j), a_i_j∈S_j },计算各车节点与其他的通信子网距离有助于衡量一个通信子网中的车节点与其他的通信子网的距离以此求出一个通信子网中的传输节点,进而选取集合F中数值最小的元素对应的车节点作为通信子网S_j中的传输节点。

进一步地,在S500中,当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时,该通信子网将此传输节点在通信子网中移除,并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点,方法为:当通信子网S_j中的传输节点a_(S_j)与S_j中的其他车节点的实际通信量的算术平均值小于通过S200所述方法计算所得的a_(S_j)与S_j中的其他车节点的通信阈值时,则S_j不再将此a_(S_j)作为传输节点,通信子网S_j将车节点a_(S_j)进行移除,即通过S400所述方法计算出通信子网S_j里大于通信阈值的车节点中与A中其他通信子网距离最小的车节点作为新的传输节点。

进一步地,在S600中,在通信子网将传输节点在通信子网中移除的过程中,传输节点将自身的传输中的实际通信量按权重分配给该通信子网中的其他车节点,直到重新选取出新的传输节点后,该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点,方法为:在通信子网S_j将车节点a_(S_j)进行移除的过程中,取通信子网S_j和车节点a_(S_j)的补集Cu(S_j,a_(S_j)),记Cu(S_j,a_(S_j))的元素的数量为d`,传输节点将自身的传输中的实际通信量按权重地分配给该通信子网中的其他车节点的权重为d`维的向量W,向量W中各维度的数值为百分数,各维度的百分数对应的是通信子网S_j中除了a_(S_j)外的d`个车节点需要分配的权重,令变量t表示集合Cu(S_j,a_(S_j))中元素的序号,t为正整数且t∈[1, d`],a_t表示集Cu(S_j,a_(S_j))中序号为t的车节点,Dis()为计算两个车节点间的位置距离的函数,函数exp()为计算求出以自然数 e为底的对数,w_t表示计算向量W中第t维数值的过程中所用到的变量,W(t)表示计算向量W中第t维的权重的数值,则W可表示为:

其中,

则通信子网S_j中的旧的传输节点a_(S_j)按照向量W的各维度的百分数作为比例,分别向各维度对应的车节点按权重地进行旧的传输节点的实际通信量的分配,直到重新选取出新的传输节点后,计算向量W中第t维的权重的数值有助于该通信子网中的其他车节点将分配到的实际通信量分配给新的传输节点。

所述一种基于车联网的数据传输系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于车联网的数据传输方法实施例中的步骤以此控制汽车、无线通信设备以及多个汽车之间通过无线通信设备互相连接形成的数据传输网络,所述一种基于车联网的数据传输系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群。

本发明的实施例提供的一种基于车联网的数据传输系统,如图2所示,该实施例的一种基于车联网的数据传输系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于车联网的数据传输方法实施例中的步骤用于控制汽车、无线通信设备以及多个汽车之间通过无线通信设备互相连接形成的数据传输网络,所述处理器执行所述计算机程序运行在以下系统的单元中:

节点通信单元,用于以各车节点通过无线通信设备与其他车节点进行数据通信;

通信阈值计算单元,用于计算各车节点与各车节点所在的通信子网的实际通信量得到通信阈值;

通信网络构建单元,用于将多个在通信阈值内的车节点作为一个通信子网并将所有的通信子网作为一个通信总网;

传输节点计算单元,用于在每个通信子网中选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点;

传输节点移除单元,用于当一个通信子网的传输节点与该通信子网中的其他车节点的距离超出通信阈值时将此传输节点在通信子网中移除并重新选取出与其他的通信子网距离最小的车节点作为本通信子网的新的传输节点;

传输节点分配单元,用于在通信子网将传输节点在通信子网中移除的过程中将传输节点自身的传输中的实际通信量按权重地分配给该通信子网中的其他车节点,并在重新选取出新的传输节点后将分配到的实际通信量分配给新的传输节点。

所述一种基于车联网的数据传输系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中。所述一种基于车联网的数据传输系统包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于车联网的数据传输方法及系统的示例,并不构成对一种基于车联网的数据传输方法及系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于车联网的数据传输系统还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立元器件门电路或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于车联网的数据传输系统的控制中心,利用各种接口和线路连接整个一种基于车联网的数据传输系统的各个分区域。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于车联网的数据传输方法及系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本发明提供了一种基于车联网的数据传输方法及系统,通过计算各车节点与各车节点所在的通信子网的实际通信量得到通信阈值以此选取车节点构成通信子网,并在每个通信子网中选取出与其他的通信子网距离最小的车节点作为负责本通信子网与其他通信子网进行数据通信的传输节点,当此传输节点要脱离该通信子网时计算出将数据传输量按比例地将原本的传输节点的数据传输量分配给其他的车节点,由此实现对各车联网的通信子网的动态的传输任务的比例计算与任务分配。

尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。

相关技术
  • 一种基于车联网的数据传输方法及系统
  • 一种基于网络编码的车联网数据传输方法及系统
技术分类

06120113207223