数据采集传输方法、车云服务平台、车辆及存储介质与流程
未命名
08-03
阅读:133
评论:0
1.本发明涉及车联网技术领域,具体涉及一种车联网数据采集传输方法、一种车云服务平台、一种车辆、一种车联网数据采集系统以及一种计算机可读存储介质。
背景技术:
2.目前汽车can是智能网联汽车最主要的数据采集来源,数据采集后上传到车联网云平台(简称车云服务平台),是车联网中一项重要业务,对于车辆的行驶状态监测、后续车辆研发质量提升有重要作用。此外,车联网中的智能网联汽车规模通常在百万辆级以上,不同的车型可能有不同的采集需求,采集的数据项不仅数量多,而且数据容量巨大,这就需要尽可能小的采集成本和传输成本,实现车辆数据的灵活采集和高效传输上云。
3.专利cn110943911a公布了一种基于protobuf的物联网高效数据传输方法,利用mqtt的消息发布-订阅模式,由消息发布方,将mqtt消息的有效载荷(payload)通过protobuf序列化后再发布消息;消息订阅方,收到消息后使用protobuf将有效载荷反序列化得到消息。该专利主要侧重于在mqtt消息中,使用预先定义好数据结构的.proto文件生成的软件组件,对mqtt消息的有效载荷进行protobuf序列化和反序列化编解码,来达到数据传输目的。该方法仅能够对数据进行序列化和反序列化编码,在一定程度上可以减小数据尺寸,但是可读性较差,不利于阅读和编写,不利于机器解析处理。
技术实现要素:
4.本发明的目的之一在于提供一种车联网数据采集传输方法,该方法能够生成不同车型对应的数据采集传输配置规则,采集的数据可以灵活配置,采集的数据基于序列化描述文件转为序列化二进制字节数组数据,再经过安全和数据量控制处理,降低数据的大小,提升数据的可阅读性,易于机器解析,提升数据安全性;目的之二在于提供一种车云服务平台,目的之三在于提供一种车辆。
5.为了实现上述目的,本发明采用的技术方案如下:
6.一种车联网数据采集传输方法,应用于车云服务平台,所述方法包括:
7.生成不同车型对应的数据采集传输配置规则;
8.根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端;
9.接收订阅的车联网数据消息,解析得到有效载荷数据;
10.根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;
11.根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
12.根据上述技术手段,可以灵活配置不同车型的数据采集传输配置规则,根据接收的车联网数据消息可以快速解析得到can信号及对应的信号值数据集,提高数据实时性。
13.在本技术实施例中,根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据,包括:
14.根据有效载荷数据的加密方式标记字节和压缩方式标记字节执行对应的解密解压操作,得到序列化二进制字节数组数据。
15.根据上述技术手段,序列化二进制字节数组数据经过加密和压缩,能够降低数据的大小,保障数据的安全,根据加密方式标记字节和压缩方式标记字节进行解密解压,保障了有效载荷数据能够被正确解析。
16.在本技术实施例中,根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集,包括:
17.根据对应的序列化描述文件对所述序列化二进制字节数组数据进行动态解析,得到数据交换格式数据;
18.对数据交换格式数据进行转换,得到can信号及对应的信号值数据集。
19.根据上述技术手段,可以快速从有效载荷数据中解析得到数据交换格式数据,数据交换格式数据易于机器解析,能够快速转换得到can信号及对应的信号值数据集,降低解析错误率。
20.在本技术实施例中,生成不同车型对应的数据采集传输配置规则,包括:
21.结合不同车型的can报文管理格式文件,生成不同车型对应的数据采集传输配置规则;
22.所述数据采集传输配置规则包括:采集上传行为标识、数据上传条件、数据采集上传周期以及待采集can信号清单。
23.根据上述技术手段,生成的数据采集传输配置规则与车型的can报文管理格式文件相匹配,提高了采集数据的准确度。
24.在本技术实施例中,根据所述数据采集传输配置规则生成序列化描述文件,包括:
25.将所述数据采集传输配置规则中的每个采集上传行为转换为序列化描述文件中的消息对象;
26.将所述数据采集传输配置规则中的待采集can信号清单转换为对应采集上传行为的消息对象中的属性;
27.添加固定描述内容,得到与所述数据采集传输配置规则相匹配的序列化描述文件。
28.根据上述技术手段,将数据采集传输配置规则转换为序列化描述文件,为后续数据处理提供了文件支持。
29.在本技术实施例中,所述方法还包括:
30.在与车端进行mqtt通信前,验证车端身份并约定通讯方式。
31.通过上述技术手段,可以进一步保证采集的数据传输过程中的安全性。
32.在本技术实施例中,验证车端身份并约定通讯方式,包括:
33.解析发送自车端的登录请求,得到加密方式和公钥;
34.根据加密方式生成会话密钥,使用公钥对会话密钥加密并发布到车端。
35.根据上述技术手段,可以实现对请求方的身份验证,保证数据传输安全。
36.本发明第二方面提供一种车联网数据采集传输方法,应用于车端,所述方法包括:
37.获取所属车型的数据采集传输配置规则和序列化描述文件;
38.根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;
39.将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;
40.对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;
41.基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台。
42.根据上述技术手段,可以灵活更改车辆的数据采集传输配置规则,采集的数据基于序列化描述文件转换为序列化二进制字节数组数据,序列化二进制字节数组数据经过安全和数据量控制处理,减少需要传输的数据量,构建的有效载荷数据,数据量小,易于机器解析。
43.在本技术实施例中,将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据,包括:
44.将采集的can报文中的can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据;
45.根据所述序列化描述文件将所述数据交换格式数据转换为序列化二进制字节数组数据。
46.通过上述技术手段,可以采用序列化描述文件对数据交换格式文件进一步缩小。
47.在本技术实施例中,将采集的can报文中的can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据,包括:
48.在满足数据采集传输配置规则中的数据上传条件时,将采集的所述can报文解析为can信号以及对应的信号值数据集;
49.将can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据。
50.根据上述技术手段,可以利用序列化描述文件将采集的can信号以及对应的信号值数据集转换为数据交换格式,减少数据量。
51.在本技术实施例中,根据所述序列化描述文件将所述数据交换格式数据转换为序列化二进制字节数组数据,包括:
52.根据所述序列化描述文件,采用动态解析工具包将数据交换格式数据转换为序列化二进制字节数组数据。
53.通过上述技术手段对数据交换格式数据进行转换,转换过程方便快捷。
54.在本技术实施例中,对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据,包括:
55.在所述序列化二进制字节数组数据的字节数组前端增加加密方式标记字节和压缩方式标记字节;
56.按照所述加密方式标记字节和压缩方式标记字节定义的处理方式按照先压缩处理后加密处理的顺序处理,得到有效载荷数据。
57.根据上述技术手段,实现对序列化二进制字节数组数据压缩和加密,进一步缩小数据量的同时保障数据安全。
58.在本技术实施例中,根据所述数据采集传输配置规则对车辆的can报文进行监听和采集,包括:
59.获取并解析车辆的can报文管理格式文件,得到can矩阵信息;
60.解析所述数据采集传输配置规则得到采集上传行为和待采集can信号清单;
61.根据所述待采集can信号清单和can矩阵信息监听车辆can总线上的can报文;
62.若监听到的can报文中包含待采集can信号清单中的信号,则将对应的can报文更新到can报文实时看板中。
63.根据上述技术手段,可以依据can报文管理格式文件和数据采集传输配置规则采集需要的数据,采集的数据更具有针对性,采集目标明确,采集到的数据更新在can报文实时看板中,便于依据数据上传条件取用。
64.在本技术实施例中,所述can报文实时看板使用map数据结构来缓存数据。
65.根据上述技术手段,map数据结构缓存的数据结构简单,便于读取。
66.在本技术实施例中,所述方法还包括:
67.按照预设时间间隔将map数据结构作为一个整体复制一个副本,按先进先出放入一个数组队列中,形成车辆数据的can报文快照集。
68.根据上述技术手段形成的can报文快照集可以作为故障发生后上报的备用数据,便于分析查找故障。
69.在本技术实施例中,所述方法还包括:
70.在与车云服务平台进行mqtt通信前,向车云服务平台登录并约定通讯方式。
71.根据上述技术手段,通过登录车云服务平台可以保障数据传输过程中的安全性。
72.在本技术实施例中,向车云服务平台登录并约定通讯方式,包括:
73.基于加密方式生成公私钥对;
74.基于加密方式和公钥构建并发布登录请求;
75.使用私钥对接收自车云服务平台的加密后的信息进行解密,得到会话密钥,完成登录。
76.根据上述技术手段,可以实现的身份验证登录,保证数据传输安全。
77.本发明第三方面提供一种车云服务平台,所述车云服务平台配置有处理单元,所述处理单元用于:
78.生成不同车型对应的数据采集传输配置规则;
79.根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端;
80.接收订阅的车联网数据消息,解析得到有效载荷数据;
81.根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;
82.根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
83.根据上述技术手段,可以灵活配置不同车型的数据采集传输配置规则,根据接收的车联网数据消息可以快速解析得到can信号及对应的信号值数据集,提高数据实时性。
84.本发明第四方面提供一种车辆,所述车辆配置有处理单元,所述处理单元用于:
85.获取所属车型的数据采集传输配置规则和序列化描述文件;
86.根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;
87.将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;
88.对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;
89.基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台。
90.根据上述技术手段,车辆可以灵活更改数据采集传输配置规则,采集的数据基于序列化描述文件转换为数据交换格式数据,减少车辆需要传输的数据量,构建有效载荷数据,数据量小,易于机器解析。
91.本发明第五方面提供一种车联网数据采集系统,包括车云服务平台和车辆,所述车云服务平台用于:生成不同车型对应的数据采集传输配置规则;根据所述数据采集传输配置规则生成序列化描述文件;
92.所述车辆用于获取所属车型的数据采集传输配置规则和序列化描述文件;根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台;
93.所述车云服务平台接收订阅的车联网数据消息,解析得到有效载荷数据;根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
94.根据上述技术手段,提供的数据采集传输系统可以实现智能联网汽车数据的灵活采集和高效传输上云,采集需求可以及时进行变更。
95.本发明第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的车联网数据采集传输方法或实现所述的车联网数据采集传输方法。
96.本发明的有益效果:
97.(1)上述方法可以动态更新智能网联汽车的数据采集传输配置,从而可灵活的定制采集车辆的数据。
98.(2)采集的数据基于序列化描述文件转为为序列化二进制字节数组数据,然后经过安全和数据量控制处理构建有效载荷数据,降低数据的大小,提升数据的可阅读性,易于机器解析,实现安全高效传输。
附图说明
99.图1为本发明一种实施方式提供的应用于车云服务平台的车联网数据采集传输方法流程图;
100.图2为本发明一种实施方式提供的车联网数据采集传输方法中生成序列化描述文
件流程图;
101.图3为本发明一种实施方式提供的车联网数据采集传输方法中有效载荷数据解析流程图;
102.图4为本发明一种实施方式提供的应用于车端的车联网数据采集传输方法流程图;
103.图5为本发明一种实施方式提供的车联网数据采集传输方法中车辆获取数据采集传输配置规则和序列化描述文件示意图;
104.图6为本发明一种实施方式提供的车联网数据采集传输方法中can报文监听和采集流程图;
105.图7为本发明一种实施方式提供的车联网数据采集传输方法中将can信号以及对应的信号值数据集转换为数据交换格式数据流程图;
106.图8为本发明一种实施方式提供的车联网数据采集传输方法中mqtt消息格式示意图;
107.图9为本发明一种实施方式提供的车联网数据采集传输方法中构建有效载荷数据流程图;
108.图10是本发明一种实施方式提供的mqtt消息发布-订阅的数据处理过程示意图;
109.图11是本发明一种实施方式提供的数据采集传输流程示意图。
具体实施方式
110.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
111.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
112.术语解释:
113.can协议报文,是在汽车can线(内部can、整车can、充电can)上收发的十六进制报文,用于汽车中各种不同元件之间的通信。can协议报文通常使用dbc文件或者can矩阵二维表进行管理。其中dbc文件语法格式为:
114.bo_报文id(canid)报文名称:报文数据长度发送节点
115.sg_信号名称:起始位|位长@字节顺序符号类型(增益,偏置)[最小值|最大值]“单位”接收节点。
[0116]
can矩阵二维表格式如下:
[0117]
信号名can id周期(ms)起始位位长增益偏置最小值最大值单位接收节点
[0118]
汽车上can总线中的can信号及其信号值,是车联网数据采集的主要数据来源。
[0119]
mqtt(消息队列遥测传输)是iso标准(iso/iec prf 20922)下基于发布/订阅范式
的消息协议。它工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
[0120]
mqtt协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:
[0121]
1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
[0122]
2、对负载内容屏蔽的消息传输;
[0123]
3、使用tcp/ip提供网络连接;
[0124]
4、有三种消息发布服务质量;
[0125]
5、小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。
[0126]
protobuf(protocol buffer)是一种混合语言数据标准。通过将结构化的数据进行序列化,用于通讯协议、数据存储等领域,是一种与语言无关、与平台无关、可扩展的序列化结构数据格式。protobuf是一种灵活,高效,自动化机制的结构数据序列化方法,该方法可类比xml,但是比xml更小(1/10~1/3)、更快(20~100倍)、更为简单。
[0127]
json(javascript object notation)是一种轻量级的数据交换格式。它基于ecmascript(european computer manufacturers association,欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
[0128]
本发明第一种实施方式提供了一种车联网数据采集传输方法,应用于车云服务平台,如图1所示,所述方法包括:
[0129]
sa1:生成不同车型对应的数据采集传输配置规则,在本技术实施例中,结合不同车型的can报文管理格式文件来生成不同车型对应的数据采集传输配置规则。不同车型对应的数据采集传输配置规则可以对采集的数据进行差异化设置。在本技术实施例中,can报文管理格式文件主要是前述的dbc文件或can矩阵二维表。数据采集传输配置规则包括:采集上传行为标识(由配置规则中的服务和方法共同约定一种采集上传行为)、数据上传条件、数据采集上传周期以及待采集can信号清单。这样生成的数据采集传输配置规则与车型的can报文管理格式文件相匹配,提高了采集数据的准确度。
[0130]
sa2:根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端。
[0131]
sa3:接收订阅的车联网数据消息,解析得到有效载荷数据。在本技术实施例中,采用mqtt协议传输采集到的数据,车云服务平台在数据采集过程中作为mqtt消息的订阅者,从mqtt broker中订阅智能网联汽车发布的mqtt消息,根据订阅的mqtt消息的有效载荷部分可以获取到有效载荷数据,即capayload格式数据。
[0132]
sa4:根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据。
[0133]
sa5:根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
[0134]
根据上述技术手段,可以灵活配置不同车型的数据采集传输配置规则,根据接收
的车联网数据消息可以快速解析得到can信号及对应的信号值数据集,提高数据实时性。
[0135]
在本技术实施例中,步骤sa2:根据所述数据采集传输配置规则生成序列化描述文件,如图2所示,包括:
[0136]
将所述数据采集传输配置规则中的每个采集上传行为转换为序列化描述文件中的消息对象;
[0137]
将所述数据采集传输配置规则中的待采集can信号清单转换为对应采集上传行为的消息对象中的属性;
[0138]
添加固定描述内容,得到与所述数据采集传输配置规则相匹配的序列化描述文件。本技术中,固定描述内容是用于组装统一格式传输数据的固定描述内容,本技术中的序列化描述文件即为protobuf描述文件。
[0139]
根据上述技术手段,将数据采集传输配置规则转换为序列化描述文件,为后续数据处理提供了文件支持。
[0140]
在本技术实施例中,步骤sa4具体包括:根据capayload格式数据的加密方式标记字节和压缩方式标记字节执行对应的解密解压操作,得到序列化二进制字节数组数据,即json2pb数据。在实际应用中,需要对capayload格式数据先解密后解压。具体解密、解压方式根据加密方式标记字节和压缩方式标记字节的内容及内容与处理方式的映射关系来确定。json2pb数据经过加密和压缩,能够降低数据的大小,保障数据的安全,根据加密方式标记字节和压缩方式标记字节进行解密解压,保障了capayload格式数据能够被正确解析。
[0141]
在本技术实施例中,capayload格式数据为二进制数据,其byte[0]字节为加密方式标记(设为encryptflag),byte[1]字节为压缩方式标记(设为zipflag),其余字节byte[2]
…
[n]为数据内容(即为json2pb数据)。在一个实施例中,当capayload数据的byte[0]取值为0时,不进行解密;byte[0]取值为1,使用aes128对json2pb数据进行解密;byte[0]取值为2时,使用sm4国密对json2pb数据进行解密。再根据byte[1]标记的压缩方式进行解压,当byte[1]取值0时,不进行解压;当byte[1]取值为1时,使用gzip算法对json2pb数据进行解压。具体加密、加压方法可以根据需求进行设定。
[0142]
在本技术实施例中,步骤sa5具体包括:根据对应的序列化描述文件对序列化二进制字节数组数据进行动态解析,得到数据交换格式数据。在本技术实施例中,根据该智能联网汽车相应的protobuf描述文件,使用protobuf动态解析技术,对所述json2pb数据进行动态解析,得到数据交换格式数据。在本技术实施例中,数据交换格式数据为json格式数据。
[0143]
对数据交换格式数据进行转换,得到can信号及对应的信号值数据集。从而,云服务从json数据中得到了智能网联汽车采集到的can信号及其can信号值数据集,可开展车联网数据业务处理。
[0144]
如图3所示,假定解析得到的capayload格式数据是p,在解析得到capayload格式数据后,首先判断数据是否加密,若加密,则将p中的json2pb段解密,得到p’,然后判断数据是否压缩,若是,则将p中的json2pb段解压,得到p”;若没有加密则直接判断数据是否压缩,若没有压缩,则直接根据protobuf描述文件利用protobuf消息动态解析工具包将p”的json2pb段转换为json数据。
[0145]
根据上述技术手段,可以快速从capayload格式数据中解析得到数据交换格式数据,数据交换格式数据易于机器解析,能够快速转换得到can信号及对应的信号值数据集,
降低解析错误率。
[0146]
在本技术实施例中,所述方法还包括:
[0147]
在与车端进行mqtt通信前,验证车端身份并约定通讯方式,如图10所示,具体包括:
[0148]
解析发送自车端的登录请求,得到加密方式和公钥,在一个实施例中,加密方式取值1,使用aes128算法加密。
[0149]
根据加密方式生成会话密钥,使用公钥对会话密钥加密并发布到车端。在一个实施例中,生成aes128密钥作为会话密钥。
[0150]
根据上述技术手段,可以实现对请求方的身份验证,保证数据传输安全。
[0151]
在本技术实施例中,发送自车端的登录请求同样采用mqtt消息的方式被云端订阅获取,mqtt消息中有效载荷部位的capayload格式数据的byte[0]取值为0,byte[1]取值为0,即不加密,不压缩。使用公钥加密后的会话密钥同样转化为不加密不压缩的capayload格式数据,通过mqtt broker反向发布到智能网联汽车。
[0152]
通过上述技术手段,可以进一步保证采集的数据传输过程中的安全性。
[0153]
本发明第二个实施例提供一种车联网数据采集传输方法,应用于车端,如图4所示,所述方法包括:
[0154]
sb1:获取所属车型的数据采集传输配置规则和序列化描述文件。在本技术实施例中,如图5所示,智能联网车辆在点火启动后,根据其车型信息从车云平台获取或更新到与之匹配的数据采集传输配置规则和protobuf描述文件,并在汽车本地存储。
[0155]
sb2:根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集,如图6所示,具体包括:
[0156]
获取并解析车辆的can报文管理格式文件,得到can矩阵信息;
[0157]
解析所述数据采集传输配置规则得到采集上传行为和待采集can信号清单;
[0158]
根据所述待采集can信号清单和can矩阵信息监听车辆can总线上的can报文;
[0159]
若监听到的can报文中包含待采集can信号清单中的信号,则将对应的can报文更新到can报文实时看板中,若不包含待采集can信号清单中的信号,则丢弃监听到的can报文。在本技术实施例中,所述can报文实时看板使用map数据结构来缓存数据。map数据结构的key为can id,value为can报文。同时,按照预设时间间隔将map数据结构作为一个整体复制一个副本,按先进先出放入一个数组队列中,形成车辆数据的can报文快照集。在本技术实施例中,预设时间为1秒。在满足《电动汽车远程服务与管理系统技术规范》(gb/t 32960)国家标准的3级报警时,需上报故障发生时间点前30s的数据,此时可以使用can报文快照集中最近的30个快照作为前30s的车况数据,结合dbc文件或can矩阵文件解析为can信号及其信号值数据集后上报。根据上述技术手段,可以依据can报文管理格式文件和数据采集传输配置规则采集需要的数据,采集的数据更具有针对性,采集目标明确,采集到的数据更新在can报文实时看板中,便于依据数据上传条件取用。
[0160]
sb3:将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据,具体包括:
[0161]
首先,将采集的can报文中的can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据。如图7所示,在满足数据采集传输配置规则中的数据
上传条件时,按数据上传条件从can报文实时看板中读取采集上传行为关联的待采集can信号清单中的所有can报文,结合can矩阵信息将所述can报文解析为can信号以及对应的信号值数据集。在本技术实施例中,若数据上传条件为预设周期上传,则按预设周期获取并解析报文。为了判断当前是否满足数据上传条件,在实际应用中,需要每秒检测是否满足采集上传行为周期,若满足,才按照上传行为配置从can报文实时看板中读取相应的can报文。
[0162]
将can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据。
[0163]
根据上述技术手段,可以利用序列化描述文件将采集的can信号以及对应的信号值数据集转换为数据交换格式,减少数据量。
[0164]
然后,根据所述序列化描述文件将所述数据交换格式数据转换为序列化二进制字节数组数据。在本技术实施例中,依据该智联网车辆存储的protobuf描述文件采用protobuf消息动态解析技术将数据交换格式数据转换为protobuf二进制字节数组,即为json2pb格式数据。
[0165]
sb4:对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据,具体包括:
[0166]
在序列化二进制字节数组数据的字节数组前端增加加密方式标记字节和压缩方式标记字节,其中,新增的byte[1]作为压缩方式标记字节(设为zipflag),压缩方式取值0代表不压缩,取值1代表使用gzip方式对json2pb格式数据进行压缩,压缩方式取其他值,可根据需要支持更多的压缩方式。新增的byte[0]作为加密方式标记字节(设为encryptflag),当byte[0]取值0时,代表不加密;取值1时,使用aes128加密json2pb格式数据;取值2时使用sm4国密加密json2pb格式数据;加密方式取其他值时,可根据需要使用其他更多的加密方式加密json2pb格式数据。
[0167]
由于数据量小于300字节时进行压缩反而会使数据量变大,因此,在实际应用过程中,若json2pb数据容量小于300字节,设置byte[1]取值0;若json2pb数据大于300字节时,设置byte[1]取值1,对json2pb数据进行gzip压缩。
[0168]
将json2pb数据按照加密方式标记字节和压缩方式标记字节代表的处理方式按照先压缩处理,后加密处理的顺序处理,得到最终的capayload格式数据。
[0169]
如图9所示,在得到json格式数据后,将json格式数据和protobuf描述文件输入protobuf消息动态解析工具包,转换为json2pb段,然后将json2pb段转换为capayload格式数据,假定为p,然后判断p的容量是否大于300字节,若是,则将p的json2pb段使用定义的压缩方式压缩,并标记启用了压缩,例如,gzip方式压缩,标记为1,得到p’,然后将p的json2pb段进行加密,并标记p启用了加密,得到p”,即为capayload格式数据。
[0170]
sb5:基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台。在本技术实施例中,采用mqtt协议发布消息到车云平台。智能网联汽车作为mqtt消息的发布方,基于capayload格式数据构造mqtt消息,发布上传到车云平台的mqtt broker。其中,mqtt消息由固定消息头(fixed header)、可变消息头(variable length header)和有效载荷(payload)组成,本发明中,将capayload格式数据作为mqtt消息的有效载荷(payload)进行发布,如图8所示。
[0171]
根据上述技术手段,可以灵活更改车辆的数据采集传输配置规则,采集的数据基
于序列化描述文件转换为json格式数据,减少需要传输的数据量,构建capayload格式数据,数据量小,易于机器解析。
[0172]
在本技术实施例中,所述方法还包括:
[0173]
在与车云服务平台进行mqtt通信前,向车云服务平台登录并约定通讯方式,如图10所示,具体包括:
[0174]
基于加密方式生成公私钥对,在本技术实施例中,智能网联汽车基于rsa2048或sm2生成公私钥对(其中,公钥设为pub)。
[0175]
基于加密方式和公钥构建并发布登录请求,在本技术实施例中,通过不压缩不加密的capayload格式数据,将加密方式和公钥pub发布到车云平台,进行登录。在一个实施例中,加密方式取值1,使用aes128算法加密。
[0176]
使用私钥对接收自车云服务平台的加密后的信息进行解密,得到会话密钥,完成登录,得到的会话密钥为aes128密钥。
[0177]
根据上述技术手段,可以实现的身份验证登录,保证数据传输安全。
[0178]
本发明第三个实施例提供一种车云服务平台,所述车云服务平台配置有处理单元,所述处理单元用于:
[0179]
生成不同车型对应的数据采集传输配置规则;
[0180]
根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端;
[0181]
接收订阅的车联网数据消息,解析得到capayload格式数据;
[0182]
根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;
[0183]
根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
[0184]
根据上述技术手段,可以灵活配置不同车型的数据采集传输配置规则,根据接收的车联网数据消息可以快速解析得到can信号及对应的信号值数据集,提高数据实时性。
[0185]
本发明第四个实施例提供一种车辆,所述车辆配置有处理单元,所述处理单元用于:
[0186]
获取所属车型的数据采集传输配置规则和序列化描述文件;
[0187]
根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;
[0188]
将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;
[0189]
对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;
[0190]
基于所述capayload格式数据构造车联网数据消息并发布到车云服务平台。
[0191]
根据上述技术手段,车辆可以灵活更改数据采集传输配置规则,采集的数据基于序列化描述文件转换为json格式数据,减少车辆需要传输的数据量,构建capayload格式数据,数据量小,易于机器解析。
[0192]
本发明第五个实施例提供一种车联网数据采集系统,包括车云服务平台和车辆,所述车云服务平台用于:生成不同车型对应的数据采集传输配置规则;根据所述数据采集
32960)国家标准协议传输,在数据容量上有明显的缩小。经测试,传输相同有效信息,与json格式相比约可减少70%的传输容量,与《电动汽车远程服务与管理系统技术规范》(gb/t 32960)约定的新能源汽车国家标准传输协议相比,约可减少15%的传输容量。该发明应用到百万辆级车联网中,可有效降低智能网联汽车数据的采集开发成本和传输成本。
[0203]
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。
技术特征:
1.一种车联网数据采集传输方法,应用于车云服务平台,其特征在于,所述方法包括:生成不同车型对应的数据采集传输配置规则;根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端;接收订阅的车联网数据消息,解析得到有效载荷数据;根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。2.根据权利要求1所述的车联网数据采集传输方法,其特征在于,根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据,包括:根据有效载荷数据的加密方式标记字节和压缩方式标记字节执行对应的解密解压操作,得到序列化二进制字节数组数据。3.根据权利要求1所述的车联网数据采集传输方法,其特征在于,根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集,包括:根据对应的序列化描述文件对所述序列化二进制字节数组数据进行动态解析,得到数据交换格式数据;对数据交换格式数据进行转换,得到can信号及对应的信号值数据集。4.根据权利要求1所述的车联网数据采集传输方法,其特征在于,生成不同车型对应的数据采集传输配置规则,包括:结合不同车型的can报文管理格式文件,生成不同车型对应的数据采集传输配置规则;所述数据采集传输配置规则包括:采集上传行为标识、数据上传条件、数据采集上传周期以及待采集can信号清单。5.根据权利要求4所述的车联网数据采集传输方法,其特征在于,根据所述数据采集传输配置规则生成序列化描述文件,包括:将所述数据采集传输配置规则中的每个采集上传行为转换为序列化描述文件中的消息对象;将所述数据采集传输配置规则中的待采集can信号清单转换为对应采集上传行为的消息对象中的属性;添加固定描述内容,得到与所述数据采集传输配置规则相匹配的序列化描述文件。6.根据权利要求1所述的车联网数据采集传输方法,其特征在于,所述方法还包括:在与车端进行mqtt通信前,验证车端身份并约定通讯方式。7.根据权利要求6所述的车联网数据采集传输方法,其特征在于,验证车端身份并约定通讯方式,包括:解析发送自车端的登录请求,得到加密方式和公钥;根据加密方式生成会话密钥,使用公钥对会话密钥加密并发布到车端。8.一种车联网数据采集传输方法,应用于车端,其特征在于,所述方法包括:获取所属车型的数据采集传输配置规则和序列化描述文件;根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进
行监听和采集;将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台。9.根据权利要求8所述的车联网数据采集传输方法,其特征在于,将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据,包括:将采集的can报文中的can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据;根据所述序列化描述文件将所述数据交换格式数据转换为序列化二进制字节数组数据。10.根据权利要求9所述的车联网数据采集传输方法,其特征在于,将采集的can报文中的can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据,包括:在满足数据采集传输配置规则中的数据上传条件时,将采集的所述can报文解析为can信号以及对应的信号值数据集;将can信号以及对应的信号值数据集转换为与所述序列化描述文件对应的数据交换格式数据。11.根据权利要求9所述的车联网数据采集传输方法,其特征在于,根据所述序列化描述文件将所述数据交换格式数据转换为序列化二进制字节数组数据,包括:根据所述序列化描述文件,采用动态解析工具包将数据交换格式数据转换为序列化二进制字节数组数据。12.根据权利要求8所述的车联网数据采集传输方法,其特征在于,对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据,包括:在所述序列化二进制字节数组数据的字节数组前端增加加密方式标记字节和压缩方式标记字节;按照所述加密方式标记字节和压缩方式标记字节定义的处理方式,先压缩处理后加密处理,得到有效载荷数据。13.根据权利要求8所述的车联网数据采集传输方法,其特征在于,根据所述数据采集传输配置规则对车辆的can报文进行监听和采集,包括:获取并解析车辆的can报文管理格式文件,得到can矩阵信息;解析所述数据采集传输配置规则得到采集上传行为和待采集can信号清单;根据所述待采集can信号清单和can矩阵信息监听车辆can总线上的can报文;若监听到的can报文中包含待采集can信号清单中的信号,则将对应的can报文更新到can报文实时看板中。14.根据权利要求13所述的车联网数据采集传输方法,其特征在于,所述can报文实时看板使用map数据结构来缓存数据。15.根据权利要求13所述的车联网数据采集传输方法,其特征在于,所述方法还包括:
按照预设时间间隔将map数据结构作为一个整体复制一个副本,按先进先出放入一个数组队列中,形成车辆数据的can报文快照集。16.根据权利要求8所述的车联网数据采集传输方法,其特征在于,所述方法还包括:在与车云服务平台进行mqtt通信前,向车云服务平台登录并约定通讯方式。17.根据权利要求16所述的车联网数据采集传输方法,其特征在于,向车云服务平台登录并约定通讯方式,包括:基于加密方式生成公私钥对;基于加密方式和公钥构建并发布登录请求;使用私钥对接收自车云服务平台的加密后的信息进行解密,得到会话密钥,完成登录。18.一种车云服务平台,其特征在于,所述车云服务平台配置有处理单元,所述处理单元用于:生成不同车型对应的数据采集传输配置规则;根据所述数据采集传输配置规则生成序列化描述文件,所述数据采集传输配置规则应用于车端;接收订阅的车联网数据消息,解析得到有效载荷数据;根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。19.一种车辆,其特征在于,所述车辆配置有处理单元,所述处理单元用于:获取所属车型的数据采集传输配置规则和序列化描述文件;根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台。20.一种车联网数据采集系统,其特征在于,包括车云服务平台和车辆,所述车云服务平台用于:生成不同车型对应的数据采集传输配置规则;根据所述数据采集传输配置规则生成序列化描述文件;所述车辆用于获取所属车型的数据采集传输配置规则和序列化描述文件;根据所述数据采集传输配置规则和车辆的can报文管理格式文件对车辆的can报文进行监听和采集;将采集的can报文中的can信号以及对应的信号值数据集根据所述序列化描述文件转换为序列化二进制字节数组数据;对序列化二进制字节数组数据进行安全和数据量控制处理,构建有效载荷数据;基于所述有效载荷数据构造车联网数据消息并发布到车云服务平台;所述车云服务平台接收订阅的车联网数据消息,解析得到有效载荷数据;根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;根据对应的序列化描述文件及所述序列化二进制字节数组数据解析得到can信号及对应的信号值数据集。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述的车联网数据采集传输方法或实现权利要求8-17中任一项所述的车联网数据采集传输方法。
技术总结
本发明涉及一种数据采集传输方法、车云服务平台、车辆及存储介质,属于车联网技术领域。该方法包括:生成不同车型对应的数据采集传输配置规则;根据所述数据采集传输配置规则生成序列化描述文件,数据采集传输配置规则应用于车端;接收订阅的车联网数据消息,解析得到有效载荷数据;根据安全和数据量控制处理方式对有效载荷数据进行解析,得到序列化二进制字节数组数据;根据对应的序列化描述文件及序列化二进制字节数组数据解析得到CAN信号及对应的信号值数据集。该方法能够生成不同车型对应的数据采集传输配置规则,采集的数据可以灵活配置,采集的数据基于序列化描述文件转为序列化二进制字节数组数据,再经过安全和数据量控制处理,降低数据的大小。降低数据的大小。降低数据的大小。
技术研发人员:蓝文良 谢磊 黄俊
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.05.17
技术公布日:2023/8/2
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种米粉出丝机的制作方法 下一篇:一种医用防护手套的制作方法
