车载数据传输方法、装置、设备和存储介质与流程

文档序号:21000258发布日期:2020-06-05 22:36阅读:265来源:国知局
车载数据传输方法、装置、设备和存储介质与流程

本发明实施例涉及智能汽车网联技术领域,尤其涉及一种车载数据传输方法、装置、设备和存储介质。



背景技术:

随着汽车网联技术的发展,汽车智能化、网联化、自动驾驶和大数据应用的发展导致车载网络容量扩大的需求日益旺盛,为满足车载网络容量的要求,车载以太网络进入到各整车厂商的视野。

现有技术中,为了扩大车载网络容量常将以太网络与传统车载总线网络混合组网,但是由于传统车载网络的报文净荷只有8字节,而以太网的报文净荷可达1500字节,以太网络与传统车载总线网络的混合组网导致以太网的性能不能被充分利用,数据传输时延较高,降低了数据传输效率。



技术实现要素:

本发明提供一种车载数据传输方法、装置、设备和存储介质,以实现车辆的混合组网,提高车载网络容量,降低数据传输时延,可增强数据传输效率。

第一方面,本发明实施例提供了一种车载数据传输方法,该方法包括:

接收到数据报文时,根据所述数据报文的来源确定报文类型;

确定报文类型为车载报文,则在满足封装条件时将所述数据报文封装进以太报文并发送;或

确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

第二方面,本发明实施例提供了一种车载数据传输装置,该装置包括:

类型确定模块,用于接收到数据报文时,根据所述数据报文的来源确定报文类型;

车载处理模块,用于确定报文类型为车载报文,则在满足封装条件时将所述数据报文封装进以太报文并发送;或

以太处理模块,用于确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

第三方面,本发明实施例提供了一种设备,该设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的车载数据传输方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明实施例中任一所述的车载数据传输方法。

本发明实施例的技术方案,通过接收到数据报文时,根据数据报文的来源确定报文类型,当报文类型为车载报文时,在满足封装条件时,将所述数据报文封装进以太报文并发送,当报文类型为以太报文时,将数据报文拆解为车载报文并发送,实现了车载总线网络与以太网络的混合组网,提高了车载网络的网络容量,并在保障车载网络容量的前提下,降低数据传输时延,提升数据传输效率。

附图说明

图1是本发明实施例一提供的一种车载数据传输方法的步骤流程图;

图2是本发明实施例一提供的一种以太报文的结构示意图;

图3是本发明实施例二提供的一种车载数据传输方法的步骤流程图;

图4是本发明实施例而提供的一种数据报文的结构示意图;

图5是本发明实施例二提供的一种以太报文的发送示例图;

图6是本发明实施例二提供的一种车载数据传输方法的示例图;

图7是本发明实施例三提供的一种车载数据传输装置的结构示意图;

图8是本发明实施例四提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例一

图1是本发明实施例一提供的一种车载数据传输方法的步骤流程图,本发明实施例可以使用于车载总线网络和以太网络混合组网数据传输的情况,该方法可以由车载数据传输装置来执行,该装置可以采用硬件和/或软件的方式来实现,该装置可以集成在车辆网关中,参见图1,本发明实施例的方法包括:

步骤101、接收到数据报文时,根据所述数据报文的来源确定报文类型。

其中,数据报文可以是混合组合的车载网络内发送的数据,数据报文具体可以为以太报文和车载总线报文,数据报文可以由以太网传输到车载总线网络或者由车载总线网络传输到以太网络;来源可以是用于表征数据报文的发送源头,数据报文的来源可以包括以太网和车载总线网络;报文类型可以是数据报文的类型,数据报文的报文类型可以与数据报文发送的网络相关,数据报文从以太网发送,则报文类型为以太报文,数据报文从车载总线网络发送,则报文类型为车载总线报文。

具体的,在获取到数据报文时,可以根据数据报文的来源确定报文类型,若数据报文由以太网发送,可以将数据报文的报文类型确定为以太报文,若数据报文由车载总线报文发送,可以将数据报文的报文联系确定为车载报文,可以理解的是,获取数据报文来源的方式可以包括对数据报文的格式进行解析,可以根据源地址或者数据报文格式确定数据报文的来源,例如,数据报文的长度为1500字节,则数据报文的来源为以太网,若数据报文的长度为8字节,则数据报文的来源为车载总线。

步骤102、确定报文类型为车载报文,则在满足封装条件时将所述数据报文封装进以太报文并发送。

其中,封装条件可以是将数据报文封装进以太报文的条件,可以包括以太报文封装的时间间隔达到要求,还可以包括数据报文为需要立即转发的数据报文;以太报文可以是由以太网发送到车载总线网络的数据报文,图2是本发明实施例一提供的一种以太报文的结构示意图,参见图2,以太报文可以由协议数据单元组成,以太报文可以包括多个协议数据单元,每个协议数据单元可以包括协议数据单元报文头10和协议数据单元载荷11,协议数据单元报文头10可以用于协议数据单元的编号和协议数据单元的长度,协议数据单元载荷可以存储有传输数据,可以理解的是,在本发明实施例中协议数据单元的长度可以与车载报文长度相同,车载报文可以直接作为以太报文的协议数据单元,车载包括可以具体为can总线报文和lin总线报文等。

在本发明实施例中,在确定数据报文的报文类型为车载报文后,该数据报文需要由车载总线网络发送到以太网络,因此需要将数据报文封装为以太报文,由于以太报文的长度可以为1500字节,而车载报文仅8字节,为了提高充分利用以太网络可以发送长数据的优势,可以将多个车载报文封装为一个以太报文,可以将获取到的车载报文存储,当满足封装条件时,例如,车载报文数量超过阈值数量或者车载报文长度满足以太报文阈值长度时,可以将接收到的车载报文封装为以太报文,并将以太报文发送到以太网络中。

步骤103、确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

其中,以太报文可以是在以太网络中发送的数据报文,以太报文可以由协议数据单元构成,协议数据单元可以包括协议数据单元报文头和协议数据单元载荷,在本发明实施例中,以太报文可以由多个车载报文构成,车载报文可以作为以太报文内的协议数据单元,协议数据单元报文头可以为车载报文头,协议数据单元载荷可以为车载报文载荷。

具体的,在确定数据报文的报文类型为以太报文后,可以该以太报文需要转发到车载总线网络中,由于以太报文的长度远长于车载报文的长度,需要将以太报文进行拆解,例如,可以将以太报文的载荷部分按照车载报文长度进行拆解多个车载报文载荷,在为各车载报文载荷添加报文头部;还可以在生成以太报文时将以太报文的协议数据单元的长度设置与车载报文相同,在拆解以太报文时,可以直接将以太报文的协议数据单元作为车载报文。在获取到车载报文后可以将车载报文发送到车载总线网络中。

本发明实施例的技术方案,通过接收到数据报文时,根据数据报文的来源确定报文类型,若报文类型为车载报文,则满足封装条件时,将该数据报文封装进以太报文并发送,若报文类型为以太报文,则将该数据报文拆解为车载报文并发送,实现了混合组网情况下的数据传输,快速将车载报文与以太报文进行格式转换,在满足车载网络容量的前提下,降低数据传输时延,提高数据传输效率。

实施例二

图3是本发明实施例二提供的一种车载数据传输方法的步骤流程图,本发明实施例是以上述实施例为基础进行的具体化,参见图3,本发明实施例提供的车载数据传输方法包括:

步骤201、接收到数据报文时,确定所述数据报文不属于预设路由表时,丢弃所述数据报文。

其中,预设路由表可以是由车载网络中路由信息组成的数据表,预设路由表可以由车辆中各设备的网络地址组成,可以包括信息的发送地址和信息的接收地址。

具体的,在获取到数据报文时,可以获取到数据报文的源地址或者目的地址,可以在预设路由表中查找对应的源地址和目的地址,若在预设路由表中不能查找该数据报文的源地址和目标地址可以确定该数据报文为非法报文,可以直接丢弃该数据报文,不再进行处理。进一步的,还可以对数据报文的长度进行判断,当数据报文的长度小于阈值长度时,可以确定该数据报文格式错误,可以将该数据报文丢弃,不再处理该数据报文。

步骤202、解析所述数据报文以获取源地址。

其中,源地址可以是数据报文发出设备的网络地址,源地址可以根据所处网络的不同,为以太网地址或者车载总线网络地址。

具体的,可以对数据报文进行解析获取数据报文头中存储的源地址,图4是本发明实施例而提供的一种数据报文的结构示意图,参见图4,数据报文可以包括数据报文头21和数据22两部分,数据报文头部可以包括标识和地址信息23,地址信息中可以包括数据报文的源地址和目的地址,可以数据报文中的源地址确定出数据报文是来自于以太网络还是来自于车载总线网络。

步骤203、若所述源地址为车载总线网络,则确定所述数据报文的报文类型为车载报文。

具体的,可以对数据报文的源地址进行判断,若源地址对应车载总线网络,可以确定数据报文从车载总线网络发出,相应的,该数据报文的报文类型可以为车载报文。

步骤2031、确定报文类型为车载报文,将所述数据报文存储到预设空间。

在本发明实施例中,确定报文类型为车载报文后,需要将车载报文转化为以太报文,由于以太报文的长度远远大于车载报文长度,例如,以太报文长度为1500字节,车载报文长度为8字节,为了提高以太网中数据的传输效率,可以将多个车载报文封装为以太报文,在封装为以太报文之前,可以将确定为车载报文的数据报文存储,预设空间可以为硬盘、内存和缓存等,可以存储数据报文。

步骤2032、确定满足封装条件时,将预设空间内的数据报文作为数据封装进以太报文,并清除所述预设空间内存储的数据报文。

其中,封装条件可以是将车载报文封装为以太报文的条件。

具体的,可以在满足封装条件时,获取预设空间内存储的所有数据报文,以太报文可以由协议数据单元构成,在将车载报文封装进以太报文时,可以将车载报文作为以太报文中的协议数据单元之间进行封装,可以将预设空间内存储的所有数据报文分别作为协议数据单元封装进同一个以太报文,进一步的,在完成以太报文的封装后,可以清空预设空间,删除存储的所有数据报文。

进一步的,封装条件的满足,包括:

若所述数据报文的属性为事件类型,则确定满足封装条件;或若所述数据报文的属性为周期类型,且当前时间与前一次封装以太报文时间的时间间隔等于阈值时间,则确定满足封装条件。

在本申请实施例中,为车载报文类型的数据报文对应属性可以是指数据报文被发送的频率,若数据报文被周期性发送,例如,车辆的胎压监测报文每隔一定时间发送一次,该报文只要不超过超时时间,胎压监测报文可以仍可被正常使用,可以将胎压监测报文的属性为周期类型,周期类型的车载报文对时间限制的要求不高,可以在预设空间内存储,当到达发生以太报文的时间间隔时,可以将车载报文封装进以太报文;而故障报警报文只在发生故障时产生,故障报警报文必须被及时传输,在获取到事件类型的车载报文时,可以将该车载报文立即封装为以太报文,因此,可以接收到属性为事件类型的车载报文,作为封装条件;还可以在车载报文类型的数据报文的属性为周期类型时,当封装以太报文的时间间隔等于阈值时间作为封装条件,其中,阈值时间可以为周期类型的车载报文的超时时间。

步骤2033、将所述以太报文发送到以太网络。

具体的,可以将由车载报文封装的以太报文通过以太网络传输。

步骤204、确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

具体的,可以对数据报文的源地址进行判断,若源地址对应以太网络,可以确定数据报文从以太网络发出,相应的,该数据报文的报文类型可以为以太报文。

步骤2041、确定报文类型为以太报文,则解析所述数据报文获取报文内容。

其中,报文内容可以是以太报文内传输数据,例如,以太报文以协议数据单元作为报文内容,可以对以太报文类型的数据报文进行解析时,可以直接获取到以太报文内的协议数据单元。

在本发明实施例中,在确定报文类型为以太报文后,可以对该数据报文进行解析获取到该数据报文的报文内容,例如,以太报文由协议数据单元构成,可以直接获取到以太报文的协议数据单元。

步骤2042、将所述报文内容根据内容编号划分为车载报文。

其中,内容编号可以报文内容的编号,报文内容可以由多段数据构成,每段数据可以对应有各自的报文内容。

具体的,可以获取到报文内容中的内容编号,不同的内容编号可以对应不同的报文内容,可以依据内容编号将报文内容分为多段,可以将每段报文内容作为车载报文。

步骤2043、将各所述车载报文发送到车载总线网络。

具体的,可以将由以太报文拆解成的车载报文通过车载总线网络传输。

本发明实施例的技术方案,通过接收到数据报文时,确定数据报文不属于预设路由表时,丢弃该数据报文;否则,对数据报文进行解析获取到源地址,若源地址为车载总线网络,则确定数据报文为车载报文,将该数据报文存储到预设空间,在满足封装条件时,将预设空间内的所有数据报文封装进以太报文发送;若源地址为以太网络,则确定数据报文为以太报文,解析获取该数据报文的报文内容,根据内容编号将报文内容划分为车载报文并发送;实现了混合组网情况下的数据传输,将车载报文和以太报文相互转化,在满足带宽容量的前提下,将多个车载报文封装为以太报文,提高了数据传输效率。

进一步的,在上述发明实施例的基础上,预设空间内的数据报文的存储空间小于或等于阈值空间。

其中,阈值空间可以是预设空间存储数据报文的最大长度,具体可以是以太报文的最大长度。

具体的,为保证预设空间内的数据报文均可以并被封装进以太报文,可以将预设空间的大小设置为阈值空间,预设空间存储的数据报文的长度不可以超过阈值空间。图5是本发明实施例二提供的一种以太报文的发送示例图,参见图5,can1、can2、can3、can4和can5分别为车载报文,且前述车载报文的属性为周期类型,当获取到can1时,可以将该数据报文存储到缓冲端为hd1和pdu1,并将定时器开启以监测以太报文封装的时间间隔,其中,hd可以为报文头,pdu可以为报文数据。当获取到can2和can3时,将can2和can3存储到缓冲区,此时缓冲区还未到达阈值空间,当can4存储到缓冲区时,缓冲区存储的数据报文达到阈值空间,可以将缓冲区内的数据报文封装为以太报文发送,重新开启定时器并继续接收can5并存储到缓冲区。

示例性的,图6是本发明实施例二提供的一种车载数据传输方法的示例图参见图6,以can总线网络与以太网混合组网为例,本发明实施例的方法包括:步骤1,网关判断是从can总线接收到的报文还是从以太网总线接收到的报文。步骤2,如果是在can总线上接收到的报文,对比路由表,报文id在路由表中存在,则继续处理,如果不存在,则丢弃。步骤3,判断接收到报文的长度,如果大于等于期望长度,则继续处理,如果小于期望长度,则丢弃。步骤4,如果报文长度大于等于期望长度,则判断报文的周期类型,如果为周期型,则判断定时器是否开启。步骤5,如果定时器已开启,则判断缓冲区是否大小是否满足。步骤6,如果缓冲区大小满足,则将该报文放入缓冲区。步骤7,如果缓冲区大小不满足,则将缓冲区内报文打包成一个以太网报文发送,再将该报文放入缓冲区内,并重启启动定时器。步骤8,按步骤5,如果定时器未开启,则开启定时器,将该报文放入缓冲区。步骤9,按步骤4,如果接收报文为事件型,则判断缓冲区大小是否满足,如果满足则立即将缓冲区内报文加上该报文一起打包成一个以太网报文发送,定时器置0,但不开启。步骤10,如果缓冲区大小不满足,则将缓冲区内报文打包成一个以太网报文发送出去,并立刻将该报文打包成一个以太网报文发送出去,定时器置0,但不开启。步骤11,按步骤1中判断接收报文为以太网报文,则按图1和图2所定义格式解析pduid(pdu为协议数据单元,即一个以太网报文中的数据单元)。步骤12,判断pduid是否为路由表中所定义,如果未定义则丢弃。步骤13,判断pdulength是否为路由表中所定义,如果小于期望长度则丢弃。步骤14,按照路由表中定义将相应pdu路由到对应can总线。

实施例三

图7是本发明实施例三提供的一种车载数据传输装置的结构示意图,可执行本发明任意实施例所提供的车载数据传输方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:类型确定模块301、车载处理模块302和以太处理模块303。

其中,类型确定模块301,用于接收到数据报文时,根据所述数据报文的来源确定报文类型。

车载处理模块302,用于确定报文类型为车载报文,则在满足封装条件时将所述数据报文封装进以太报文并发送。或

以太处理模块303,用于确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

本发明实施例的技术方案,通过类型确定模块接收到数据报文时,根据数据报文的来源确定报文类型,车载处理模块当报文类型为车载报文时,在满足封装条件时,将所述数据报文封装进以太报文并发送,以太处理模块当报文类型为以太报文时,将数据报文拆解为车载报文并发送,实现了车载总线网络与以太网络的混合组网,提高了车载网络的网络容量,并在保障车载网络容量的前提下,降低数据传输时延,提升数据传输效率。

进一步的,在上述发明实施例的基础上,类型确定模块包括:

解析单元,用于解析所述数据报文以获取源地址。

车载处理单元,用于若所述源地址为车载总线网络,则确定所述数据报文的报文类型为车载报文。或

以太处理单元,用于若所述源地址为以太网络,则确定所述数据报文的报文类型为以太报文。

进一步的,在上述发明实施例的基础上,车载处理模块封装条件的满足,包括:

若所述数据报文的属性为事件类型,则确定满足封装条件;或若所述数据报文的属性为周期类型,且当前时间与前一次封装以太报文时间的时间间隔等于阈值时间,则确定满足封装条件。

进一步的,在上述发明实施例的基础上,车载处理模块包括:

存储单元,用于确定报文类型为车载报文,将所述数据报文存储到预设空间。

封装单元,用于确定满足封装条件时,将预设空间内的数据报文作为数据封装进以太报文,并清除所述预设空间内存储的数据报文;

以太发送单元,用于将所述以太报文发送到以太网络。

进一步的,在上述发明实施例的基础上,存储单元中的预设空间内的数据报文的存储空间小于或等于阈值空间。

进一步的,在上述发明实施例的基础上,以太处理模块包括:

解析单元,用于确定报文类型为以太报文,则解析所述数据报文获取报文内容。

拆解单元,用于将所述报文内容根据内容编号划分为车载报文。

车载发送单元,用于将各所述车载报文发送到车载总线网络。

进一步的,在上述发明实施例的基础上,还包括:

非法处理模块,用于确定所述数据报文不属于预设路由表时,丢弃所述数据报文。

实施例四

图8是本发明实施例四提供的一种设备的结构示意图,如图8所示,该设备包括处理器80、存储器81、输入装置82和输出装置83;设备中处理器80的数量可以是一个或多个,图8中以一个处理器80为例;设备中的处理器80、存储器81、输入装置82和输出装置83可以通过总线或其他方式连接,图8中以通过总线连接为例。

存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的车载数据传输方法对应的程序指令(例如,车载数据传输装置中的类型确定模块301、车载处理模块302和以太处理模块303)。处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的车载数据传输方法。

存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置82可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置83可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种车载数据传输方法,该方法包括:

接收到数据报文时,根据所述数据报文的来源确定报文类型;

确定报文类型为车载报文,则在满足封装条件时将所述数据报文封装进以太报文并发送;或

确定报文类型为以太报文,则将所述数据报文拆解为车载报文并发送。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的车载数据传输方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述车载数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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