1 摘要

本发明公开了一种C-V2X协议栈的通信方法及装置,所述通信方法包括:通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
本发明通过数据安全模块保证数据传输的安全性;使用了软件分层的思想,使得v2x协议栈可以在任何v2x设备快速移植、使用;提供丰富灵活的软件功能接口,满足应用层更多的需求,减少应用层的负担,使得应用层更专注于业务场景的设计;能支持多个应用层程序去使用,满足应用层丰富的应用场景。
1.一种C-V2X协议栈的通信方法,其特征在于,包括:通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
2.根据权利要求1所述的通信方法,其特征在于,所述通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去,包括:通过网络1层接收应用层填充好的消息集数据及DSA数据;
其中,C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层;通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层;
通过所述网络2层将收到的DSMP数据传递给数据安全模块;通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层;
通过所述网络2层将收到的SPDU数据传递给硬件抽象层;通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
3.根据权利要求2所述的通信方法,其特征在于,所述通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层,包括:通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求;将所述接收请求保存到网络2层以保存到MIB信息表;通过硬件抽象层接收所述硬件芯片所转化的接入层数据;通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层;通过所述网络2层将所述SPDU数据传递给数据安全模块;通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层;通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层;通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
4.根据权利要求1所述的通信方法,其特征在于,还包括:将所述网络2层设置为服务端,将所述网络1层设置有客户端;通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层。
5.根据权利要求2或3所述的通信方法,其特征在于,所述数据安全模块包括加解签功能模块及软件加解签模块。
6.一种C-V2X协议栈的通信装置,其特征在于,包括数据流发送模块及数据流接收模块:所述数据流发送模块,用于通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;所述数据流接收模块,用于通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
7.根据权利要求6所述的通信装置,其特征在于,所述数据流发送模块包括消息集及DSA填充模块、消息集及DSA转换模块、DSMP安全模块、DSMP加签模块、SPDU传递模块、接入层发送模块:所述消息集及DSA填充模块,用于通过网络1层接收应用层填充好的消息集数据及DSA数据;其中,C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层;所述消息集及DSA转换模块,用于通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层;所述DSMP安全模块,用于通过所述网络2层将收到的DSMP数据传递给数据安全模块;所述DSMP加签模块,用于通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层;所述SPDU传递模块,用于通过所述网络2层将收到的SPDU数据传递给硬件抽象层;所述接入层发送模块,用于通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
8.根据权利要求7所述的通信装置,其特征在于,所述数据流接收模块包括请求接收模块、MIB转存模块、接入层接收模块、提取模块、SPDU安全模块、SPDU转化模块、查询模块及DSMP转化模块:所述请求接收模块,用于通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求;所述MIB转存模块,用于将所述接收请求保存到网络2层以保存到MIB信息表;所述接入层接收模块,用于通过硬件抽象层接收所述硬件芯片所转化的接入层数据;所述提取模块,用于通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层;所述SPDU安全模块,用于通过所述网络2层将所述SPDU数据传递给数据安全模块;所述SPDU转化模块,用于通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层;所述查询模块,用于通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层;所述DSMP转化模块,用于通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
9.根据权利要求6所述的通信装置,其特征在于,还包括设置模块及连接请求模块:所述设置模块,用于将所述网络2层设置为服务端,将所述网络1层设置有客户端;所述连接请求模块,用于通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层;其中,所述数据安全模块包括加解签功能模块及软件加解签模块。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至5任一项所述的通信方法。

2 一种C-V2X协议栈的通信方法及装置

2.1 技术领域

[0001]本发明涉及无线通信协议技术领域,更具体地说,涉及一种C-V2X协议栈的通信方法及装置。

2.2 背景技术

[0002]在社会快速发展、人民生活日益提高的前提下,道路上的车辆也越来越多,也产生很多的交通事故。而目前自动驾驶也需要获取更多的信息使得车辆行驶在道路更加安全的,而v2x就提供这些功能,让车辆获取更多的信息,从而使得道路上的汽车更加的安全,智能。cv2x是一种先进无线通讯技术,它能让车辆、信号灯、交通标识、骑行者和行人的通讯设备实现互联,并共享当前状态,位置及行动意图等信息。V2x主要是研究车与车,车与路,车与人……..车与万物的关系。相关的场景应用有:前向碰撞预警,变道预警,限速预警,行人预警。
[0003]V2X协议栈就是运行在OBU,RSU等V2X设备上面的一套软件,主要工作负责对通信收到的数据进行解析,管理,同时也包含了数据安全。对比于现有技术的网络协议栈TCP/IP协议栈,协议栈实现的功能就是跟TCP/IP模型中的网络层和传输层的内容。起到中间层的作用,向下从硬件获取数据,解析数据,向上给应用提供数据。
[0004]如图1,图1是现有技术的V2X协议栈的基本结构。其中,应用层通过网络层提供的接口进行相应的数据的发送和接收。网络层的功能就是V2X协议栈的功能。网络层由数据子层和管理子层两部分构成;管理子层主要完成系统配置及维护,为所有的数据子层实体提供管理接口等功能。数据子层主要包括适配层(AdaptationLayer)、IP和UDP/TCP以及合作式智能运输系统DSMP。目前V2X协议栈用到的是DSMP协议去解析。数据子层利用管理子层提供好的接口传输应用层间的数据流。应用层自己要解析出来得出的BSM,SPAT,MAP,RSI,RSM五大消息集,实现相关场景算法。
[0005]如图2,图2是DSM逐层打包流程示意图,应用层的data数据,加上DSMPHeader之后就变成了DSMP数据,DSMP数据加上适配层头和接入层头之后就变成了接入层数据,最终接入层数据会由硬件发送出去。因此,现有技术具有如下缺点:
[0006]1.没有引入数据安全。
[0007]2.不易于其他设备使用,移植性较差。
[0008]3.提供的软件功能接口不易于灵活使用。应层层只能拿到DSMPdata字段数据,而不能拿到消息集的数据,应用层还得做进一步的解析。
[0009]4.只能支持一个应用层程序。发明内容[0010]本发明提供了一种C-V2X协议栈的通信方法及装置,能够解决现有技术中引入数据不安全、移植性差、接口不灵活、应用程序支持差的问题。
[0011]为解决上述问题,第一方面,本发明提供了一种C-V2X协议栈的通信方法,包括:[0012]通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;
[0013]通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
[0014]其中,所述通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去,包括:
[0015]通过网络1层接收应用层填充好的消息集数据及DSA数据;其中,C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层;
[0016]通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层;[0017]通过所述网络2层将收到的DSMP数据传递给数据安全模块;
[0018]通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层;
[0019]通过所述网络2层将收到的SPDU数据传递给硬件抽象层;[0020]通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
[0021]其中,所述通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层,包括:
[0022]通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求;[0023]将所述接收请求保存到网络2层以保存到MIB信息表;
[0024]通过硬件抽象层接收所述硬件芯片所转化的接入层数据;
[0025]通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层;
[0026]通过所述网络2层将所述SPDU数据传递给数据安全模块;
[0027]通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层;
[0028]通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层;
[0029]通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
[0030]其中,还包括:
[0031]将所述网络2层设置为服务端,将所述网络1层设置有客户端;
[0032]通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层。
[0033]其中,所述数据安全模块包括加解签功能模块及软件加解签模块。
[0034]第二方面,提供一种C-V2X协议栈的通信装置,包括数据流发送模块及数据流接收模块:[0035]所述数据流发送模块,用于通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;[0036]所述数据流接收模块,用于通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
[0037]其中,所述数据流发送模块包括消息集及DSA填充模块、消息集及DSA转换模块、DSMP安全模块、DSMP加签模块、SPDU传递模块、接入层发送模块:
[0038]所述消息集及DSA填充模块,用于通过网络1层接收应用层填充好的消息集数据及DSA数据;其中,C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层;
[0039]所述消息集及DSA转换模块,用于通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层;
[0040]所述DSMP安全模块,用于通过所述网络2层将收到的DSMP数据传递给数据安全模块;
[0041]所述DSMP加签模块,用于通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层;
[0042]所述SPDU传递模块,用于通过所述网络2层将收到的SPDU数据传递给硬件抽象层;
[0043]所述接入层发送模块,用于通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
[0044]其中,所述数据流接收模块包括请求接收模块、MIB转存模块、接入层接收模块、提取模块、SPDU安全模块、SPDU转化模块、查询模块及DSMP转化模块:
[0045]所述请求接收模块,用于通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求;[0046]所述MIB转存模块,用于将所述接收请求保存到网络2层以保存到MIB信息表;[0047]所述接入层接收模块,用于通过硬件抽象层接收所述硬件芯片所转化的接入层数据;
[0048]所述提取模块,用于通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层;[0049]所述SPDU安全模块,用于通过所述网络2层将所述SPDU数据传递给数据安全模块;
[0050]所述SPDU转化模块,用于通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层;
[0051]所述查询模块,用于通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层;
[0052]所述DSMP转化模块,用于通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
[0053]其中,还包括设置模块及连接请求模块:
[0054]所述设置模块,用于将所述网络2层设置为服务端,将所述网络1层设置有客户端;
[0055]所述连接请求模块,用于通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层;其中,所述数据安全模块包括加解签功能模块及软件加解签模块。
[0056]第三方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的通信方法。
[0057]本发明的有益效果是:
[0058]通过数据安全模块保证数据传输的安全性;使用了软件分层的思想,使得v2x协议栈可以在任何v2x设备快速移植、使用;提供丰富灵活的软件功能接口,满足应用层更多的需求,减少应用层的负担,使得应用层更专注于业务场景的设计;能支持多个应用层程序去使用,满足应用层丰富的应用场景。附图说明
[0059]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
image.png
[0060]图1是现有技术的V2X协议栈的基本结构示意图;
image.png
[0061]图2是现有技术的DSM逐层打包流程示意图;
image.png
[0062]图3是本发明提供的一种C-V2X协议栈的通信方法的流程示意图;
image.png
[0063]图4是本发明提供的V2X协议栈的基本结构示意图;
image.png
[0064]图5是本发明提供的V2X协议栈整体数据流示意图。
[0065]本文中出现的英文简称释义如下:
[0066]V2X:车与万物的通信;
[0067]V2V:车与车通信;
[0068]V2I:车与路侧单元通信;
[0069]OBU:车载终端单元;
[0070]RSU:路侧单元;
[0071]BSM:消息集数据,基础安全消息,包括速度,转向,刹车,双闪,位置等等,多被用在V2V场景即变道预警,盲区预警,交叉路口碰撞预警等等;
[0072]RSI:消息集数据,路侧信息,用于事件的下方,路侧RSU集成,平台下发,多被用于V2I场景即道路施工,限速标志,超速预警,公交车道预警等等;
[0073]RSM:消息集数据,路侧安全消息,也是V2I,主要对接路侧的边缘设备,用于事件的识别,比如,车辆发生事故,车辆异常,异物闯入等等;
[0074]SPAT:消息集数据,交通灯相位与时序消息,也是V2I,路侧RSU集成信号机,或者信号机通过UU方式传入到平台,用于车速引导,绿波推送场景等等;
[0075]MAP:消息集数据,地图消息,地图消息和SPAT消息一起使用,MAP消息可以描述一个路口,和该路口的红绿灯也存在对应关系;
[0076]DSA:专用短程通信业务公告消息;
[0077]DSM:专用短程通信短消息;[0078]DSMP:专用短程通信短消息协议;[0079]MIB:管理信息库。具体实施方式
[0080]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0081]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0082]在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
[0083]请参阅图3,图3是本发明提供的一种C-V2X协议栈的通信方法的流程示意图。该方法包括步骤S1-S2:[0084]S1、通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;即步骤S1为发送数据流的流程,发送数据流的流程参见图5中由上往下的箭头。步骤S1包括步骤S11-S16:
[0085]S11、通过网络1层接收应用层填充好的消息集数据及DSA数据。
[0086]本实施例中,参见图4及图5,图4是本发明提供的V2X协议栈的基本结构示意图;图5是本发明提供的V2X协议栈整体数据流示意图。本方案中V2X采取非常明显的分层方法,本申请的V2X协议栈总体主要分为4大块,即C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层。网络1层的作用为,打包成库,提供丰富的接口给应用层调用,提供DSMP数据解析消息集,消息集数据打包等功能。本步骤中,应用层填充好消息集数据,DSA数据,使用网络1层提供的功能接口,将消息集数据传输给网络1层。
[0087]S12、通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层。
[0088]本实施例中,网络1层收到消息集数据和DSA数据后,转化为DSMP数据,传递给网络2层。
[0089]S13、通过所述网络2层将收到的DSMP数据传递给数据安全模块。
[0090]本实施例中,网络2层的主要作用为,负责管理子层中的MIB表的操作,DSA数据的操作,处理各种服务请求,支持多个应用层程序去调用。网络2层收到DSMP数据之后,将数据传递给数据安全模块。
[0091]S14、通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层。
[0092]本实施例中,数据安全模块对DSMP数据进行加签操作,转化为SPDU数据,传递回给网络2层。数据安全模块部分独立于网络1层和网络2层,主要由网络2层去调用。
[0093]S15、通过所述网络2层将收到的SPDU数据传递给硬件抽象层。
[0094]本实施例中,网络2层收到SPDU数据,将数据传递给硬件抽象层。
[0095]S16、通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
[0096]本实施例中,硬件抽象层使用通信芯片提供的功能,转化给接入层数据,最终由硬件芯片发送出去。硬件抽象层负责与底层硬件通信交互。
[0097]此外,增加数据安全模块之后,引入另外一个数据定义,SPDU(安全数据传输单元),如图2所示,DSMP中data数据段的最后加上数字安全签名和证书,就回变成SPDU数据,带有数字安全签名的DSMP数据,也就是SPDU数据。
[0098]S2、通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。即步骤S1为接收数据流的流程,接收数据流的流程参见图5中由下往上的箭头。步骤S2包括步骤S21-S28:
[0099]S21、通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求。
[0100]本实施例中,应用层发起要接收消息集数据或者DSA数据接收请求,并将请求传递给网络1层。
[0101]S22、将所述接收请求保存到网络2层以保存到MIB信息表。
[0102]本实施例中,网络1层将请求保存到网络2层,网络2层将其存到MIB信息表。
[0103]S23、通过硬件抽象层接收所述硬件芯片所转化的接入层数据。
[0104]本实施例中,硬件芯片接收到数据之后,将数据转化为接入层数据,传递给硬件抽象层。
[0105]S24、通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层。
[0106]本实施例中,硬件抽象层使用硬件芯片提供的功能,收到接入层数据,并且提取出SPDU数据之后,传递给网络2层。
[0107]S25、通过所述网络2层将所述SPDU数据传递给数据安全模块。
[0108]本实施例中,网络2层将SPDU数据传递给数据安全模块。
[0109]S26、通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层。
[0110]本实施例中,数据安全模块对SPDU数据进行验证,验证通过就转化成DSMP数据,传递给网络2层。[0111]S27、通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层。
[0112]本实施例中,网络2层收到数据安全给到DSMP之后,判断是消息集数据,通过查MIB信息表,发现有网络1层需要消息集数据,就将该DSMP数据传给网络1层,判断是DSA数据,先保存在网络2层,存进MIB信息表,然后查MIB信息表,发现需要DSA数据,就将DSMP数据传给网络1层。
[0113]S28、通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
[0114]本实施例中,网络1层收到数据之后,就将DSMP数据转化为消息集数据和DSA数据,传递给应用层。从而使应用层收到消息集数据。
[0115]优选的,该通信方法还包括步骤S3:
[0116]S3、将所述网络2层设置为服务端,将所述网络1层设置有客户端。通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层。
[0117]现有技术中的一台设备如果仅仅只有一个应用,无法满足丰富的应用场景,为了解决这个问题,本实施例中V2X协议栈更具有扩展性,可支持多应用使用协议栈。服务端和客户端采用本地TCP通信的模式:
[0118]1、在网络2层作为服务端,等待客户端去连接。
[0119]2、应用层向网络1层请求连接,网络1层去连接。
[0120]3、网络1层连接到网络2层。
[0121]4、多个应用层就能和网络1层,就可以通过网络2层进行数据的收发了。
[0122]同时,对于硬件抽象层来说,为了让V2X协议栈更加灵活部署各种V2X硬件上面,为此设计出硬件抽象层,以让部署到其他V2X硬件的时候,只需要进行很少的改动就可以完全适配V2X协议栈。主要信息点如下:
[0123]1、硬件抽象层向网络2层提供统一的功能接口,用于与网络2层数据的相互传递。
[0124]2、多个V2X通信芯片实现硬件抽象层的一些必须的功能,并且将这些功能传递给硬件抽象层。
[0125]3、一个硬件上面只有一个V2X通信芯片,硬件抽象层也就不必对其进行管理,直接使用通信芯片上面的功能就可以将上层数据传递出去。
[0126]对于数据安全方面,所述数据安全模块包括加解签功能模块及软件加解签模块。数据安全主要有证书下载,加解签功能模块,加解签功能模块对DSMP数据的加签,和解签,公钥解压缩功能,本申请的V2X协议栈可以同时使用软解,和硬解,更加方便,节约成本,安全可靠。主要信息点如下:
[0127]1、加解签功能模块向网络2层提供统一的功能接口,用于与网络2层SPDU数据和DSMP数据相互转化传递。
[0128]2、软件加解签使用的是gmssl开源工具包。
[0129]3、加解签功能模块会对这两个进行管理,当没有硬件加密芯片的时候,或者加密芯片有些功能没有办法提供的时候,比如密钥重新计算,就会使用到软件加解签方法。
[0130]4、V2X数据传输过程中为了更能节省带宽,故采用了公钥解压缩算法,传输前对公钥进行压缩,得到数据后对数据进行解压。[0131]如此,本申请的通信方法具有如下有益效果:
[0132]1、数据安全部分可采用软解的方式,节约成本,或者采用软解加硬解的方案,使得数据安全更加可靠。
[0133]2、采用硬件抽象的方式,使得v2x协议栈可以在v2x设备灵活部署。
[0134]3、协议栈的详细分层,不仅提供更加灵活通用的软件接口,有利于应用层不必关注数据解析细节,有利于应用场景功能的开发。
[0135]第二方面,本申请提供一种C-V2X协议栈的通信装置,包括数据流发送模块及数据流接收模块:
[0136]所述数据流发送模块,用于通过C-V2X协议栈接收应用层的数据,并对所述应用层的数据进行处理以通过硬件芯片发送出去;
[0137]所述数据流接收模块,用于通过所述C-V2X协议栈接收所述应用层发起要接收数据的请求以接收所述硬件芯片的数据,通过所述C-V2X协议栈对接收到的硬件芯片的数据处理以回传给所述应用层。
[0138]其中,所述数据流发送模块包括消息集及DSA填充模块、消息集及DSA转换模块、DSMP安全模块、DSMP加签模块、SPDU传递模块、接入层发送模块:
[0139]所述消息集及DSA填充模块,用于通过网络1层接收应用层填充好的消息集数据及DSA数据;其中,C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层。
[0140]本实施例中,本方案中V2X采取非常明显的分层方法,本申请的V2X协议栈总体主要分为4大块,即C-V2X协议栈包括网络1层、网络2层、数据安全模块及硬件抽象层。网络1层的作用为,打包成库,提供丰富的接口给应用层调用,提供DSMP数据解析消息集,消息集数据打包等功能。应用层填充好消息集数据,DSA数据,使用网络1层提供的功能接口,将消息集数据传输给网络1层。
[0141]所述消息集及DSA转换模块,用于通过所述网络1层将所述消息集数据及DSA数据转换为DSMP数据,将所述DSMP数据发送至网络2层;
[0142]本实施例中,网络1层收到消息集数据和DSA数据后,转化为DSMP数据,传递给网络2层。[0143]所述DSMP安全模块,用于通过所述网络2层将收到的DSMP数据传递给数据安全模块;
[0144]本实施例中,网络2层的主要作用为,负责管理子层中的MIB表的操作,DSA数据的操作,处理各种服务请求,支持多个应用层程序去调用。网络2层收到DSMP数据之后,将数据传递给数据安全模块。
[0145]所述DSMP加签模块,用于通过所述数据安全模块对所述DSMP数据进行加签操作以转化为SPDU数据,将所述SPDU数据回传给网络2层;
[0146]本实施例中,数据安全模块对DSMP数据进行加签操作,转化为SPDU数据,传递回给网络2层。数据安全模块部分独立于网络1层和网络2层,主要由网络2层去调用。
[0147]所述SPDU传递模块,用于通过所述网络2层将收到的SPDU数据传递给硬件抽象层;[0148]本实施例中,网络2层收到SPDU数据,将数据传递给硬件抽象层。
[0149]所述接入层发送模块,用于通过所述硬件抽象层将所述SPDU数据转化为接入层数据,从而通过硬件芯片发送出去。
[0150]本实施例中,硬件抽象层使用通信芯片提供的功能,转化给接入层数据,最终由硬件芯片发送出去。硬件抽象层负责与底层硬件打。
[0151]其中,所述数据流接收模块包括请求接收模块、MIB转存模块、接入层接收模块、提取模块、SPDU安全模块、SPDU转化模块、查询模块及DSMP转化模块:
[0152]所述请求接收模块,用于通过所述网络1层接收所述应用层发起要接收的消息集数据或者DSA数据的接收请求;
[0153]本实施例中,应用层发起要接收消息集数据或者DSA数据接收请求,并将请求传递给网络1层。
[0154]所述MIB转存模块,用于将所述接收请求保存到网络2层以保存到MIB信息表;
[0155]本实施例中,网络1层将请求保存到网络2层,网络2层将其存到MIB信息表。
[0156]所述接入层接收模块,用于通过硬件抽象层接收所述硬件芯片所转化的接入层数据;
[0157]本实施例中,硬件芯片接收到数据之后,将数据转化为接入层数据,传递给硬件抽象层。
[0158]所述提取模块,用于通过所述硬件抽象层从所述接入层数据中提取出SPDU数据,并将所述SPDU数据传递给网络2层;
[0159]本实施例中,硬件抽象层使用硬件芯片提供的功能,收到接入层数据,并且提取出SPDU数据之后,传递给网络2层。
[0160]所述SPDU安全模块,用于通过所述网络2层将所述SPDU数据传递给数据安全模块;
[0161]本实施例中,网络2层将SPDU数据传递给数据安全模块。
[0162]所述SPDU转化模块,用于通过所述数据安全模块对所述SPDU数据进行验证,验证通过就转化成DSMP数据并回传给所述网络2层;
[0163]本实施例中,数据安全模块对SPDU数据进行验证,验证通过就转化成DSMP数据,传递给网络2层。
[0164]所述查询模块,用于通过所述网络2层查询MIB信息表,若所述DSMP数据为所述应用层发起要接收的消息集数据,则将所述DSMP数据传递给所述网络1层;若所述DSMP数据为所述应用层发起要接收的DSA数据,则保存在网络2层并存进MIB信息表,并将所述应用层发起要接收的DSA数据相关的DSMP数据传给网络1层;
[0165]本实施例中,网络2层收到数据安全给到DSMP之后,判断是消息集数据,通过查MIB信息表,发现有网络1层需要消息集数据,就将该DSMP数据传给网络1层,判断是DSA数据,先保存在网络2层,存进MIB信息表,然后查MIB信息表,发现需要DSA数据,就将DSMP数据传给网络1层。
[0166]所述DSMP转化模块,用于通过所述网络1层将DSMP数据转化为消息集数据或DSA数据,传递给应用层。
[0167]本实施例中,网络1层收到数据之后,就将DSMP数据转化为消息集数据和DSA数据,传递给应用层。从而使应用层收到消息集数据。
[0168]其中,还包括设置模块及连接请求模块:
[0169]所述设置模块,用于将所述网络2层设置为服务端,将所述网络1层设置有客户端;所述连接请求模块,用于通过应用层向网络1层请求连接,从而通过所述网络1层去连接所述网络2层。
[0170]本实施例中V2X协议栈更具有扩展性,可支持多应用使用协议栈。服务端和客户端采用本地TCP通信的模式:
[0171]1、在网络2层作为服务端,等待客户端去连接。
[0172]2、应用层向网络1层请求连接,网络1层去连接。
[0173]3、网络1层连接到网络2层。
[0174]4、多个应用层就能和网络1层,就可以通过网络2层进行数据的收发了。
[0175]同时,对于硬件抽象层来说,为了让V2X协议栈更加灵活部署各种V2X硬件上面,为此设计出硬件抽象层,以让部署到其他V2X硬件的时候,只需要进行很少的改动就可以完全适配V2X协议栈。主要信息点如下:
[0176]1、硬件抽象层向网络2层提供统一的功能接口,用于与网络2层数据的相互传递。
[0177]2、多个V2X通信芯片实现硬件抽象层的一些必须的功能,并且将这些功能传递给硬件抽象层。[0178]3、一个硬件上面只有一个V2X通信芯片,硬件抽象层也就不必对其进行管理,直接使用通信芯片上面的功能就可以将上层数据传递出去。[0179]所述数据安全模块包括加解签功能模块及软件加解签模块。
[0180]本实施例中,对于数据安全方面,所述数据安全模块包括加解签功能模块及软件加解签模块。数据安全主要有证书下载,加解签功能模块,加解签功能模块对DSMP数据的加签,和解签,公钥解压缩功能,本申请的V2X协议栈可以同时使用软解,和硬解,更加方便,节约成本,安全可靠。主要信息点如下:
[0181]1、加解签功能模块向网络2层提供统一的功能接口,用于与网络2层SPDU数据和DSMP数据相互转化传递。
[0182]2、软件加解签使用的是gmssl开源工具包。
[0183]3、加解签功能模块会对这两个进行管理,当没有硬件加密芯片的时候,或者加密芯片有些功能没有办法提供的时候,比如密钥重新计算,就会使用到软件加解签方法。
[0184]4、V2X数据传输过程中为了更能节省带宽,故采用了公钥解压缩算法,传输前对公钥进行压缩,得到数据后对数据进行解压。[0185]如此,本申请的通信方法具有如下有益效果:
[0186]1、数据安全部分可采用软解的方式,节约成本,或者采用软解加硬解的方案,使得数据安全更加可靠。
[0187]2、采用硬件抽象的方式,使得v2x协议栈可以在v2x设备灵活部署。
[0188]3、协议栈的详细分层,不仅提供更加灵活通用的软件接口,有利于应用层不必关注数据解析细节,有利于应用场景功能的开发。
[0189]本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种集成方法中的步骤。
[0190]其中,该存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。
[0191]由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种集成方法中的步骤,因此,可以实现本发明实施例所提供的任一种集成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0192]以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0193]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。