一种车联网大数据预处理系统、装置和方法
文献发布时间:2023-06-19 12:10:19
技术领域
本发明涉及数据处理技术领域,特别是涉及一种车联网大数据预处理系统、装置和方法。
背景技术
得益于电动化、人工智能与大数据的发展,汽车的智能化、网联化也得到了长足进步。当前新能源汽车运行大数据已经有海量的基础数据积累,但是这些连续的基础数据储存占用空间巨大,业务分析计算内存与时间消耗严重,且基础数据的应用往往需要大数据工程师、车辆工程师和产品工程师三个角色参与,技术门槛高,降低了基础数据应用效率。
当前现有一些预处理技术按照业务需求或特定工况对车辆上传的基础数据进行切分、提取和重组,形成预处理后的数据库,用以支撑后续分析业务。该技术能够较好支撑对应的后续业务分析工作,但是缺乏广泛的业务场景适用性。当进行其他业务或工况分析时,又需要重新进行预处理,处理后的数据缺乏可拓展性和广泛的业务场景适用性。
另外一种对基础数据进行预处理的方法是按照车辆状态(如行车、停车、充电等)将其划分为行驶片段、充电片段、停车片段等,以便于分类管理。该预处理方法旨在还原真实用车情况,但是由于车辆上传数据存在一定比例的问题,车辆真实工况复杂多变,实际的处理逻辑难以完全反映用车工况,导致出现问题后仍需要到基础数据中检索,降低了业务应用时的效率。另一方面不同片段之间缺乏联系,当需要对不同片段进行综合分析时,处理难度增加,降低了后续业务的处理效率。
因此,提供一种能够满足多种智能车联网复杂应用场景的、具有高处理效率的车联网大数据处理方法或系统是本领域亟待解决的技术问题。
发明内容
本发明的目的是提供一种车联网大数据预处理系统、装置和方法,以能够在满足多种智能车联网复杂应用场景的同时,提高数据处理效率。
为实现上述目的,本发明提供了如下方案:
一种车联网大数据预处理系统,包括:
车辆状态处理模块,用于将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合;所述运行数据包括:车辆状态数据、电池状态数据、电机状态数据、电控状态数据和发动机状态数据;
车辆充电状态处理模块,与所述车辆状态处理模块连接,用于确定所述启动片段集合的充电状态和所述熄火片段集合的充电状态,并依据确定的所述启动片段集合的充电状态和所述熄火片段集合的充电状态对所述启动片段集合的运行数据和所述熄火片段集合的运行数据进行片段分类,得到第一片段分类结果;所述第一片段分类结果包括:启动状态+停车充电片段、启动状态+行驶充电片段、启动状态+未充电片段、熄火状态+停车充电片段和熄火片段+未充电片段;
故障状态处理模块,与所述车辆充电状态处理模块连接,用于判断所述第一状态分类结果是否存在故障,当存在故障时还用于对所存在的故障进行片段分类,得到第二片段分类结果;所述第二片段分类结果包括:启动状态+停车充电+无故障片段、启动状态+停车充电+有故障片段、启动状态+行驶充电+无故障片段、启动状态+行驶充电+有故障片段、启动状态+未充电+无故障片段、启动状态+未充电+有故障片段、熄火状态+停车充电+无故障片段、熄火状态+停车充电+有故障片段、熄火片段+未充电+无故障片段和熄火片段+未充电+有故障片段。
优选地,还包括:
异常值处理模块,分别与所述车辆状态处理模块、所述车辆充电状态处理模块和所述故障状态处理模块连接,用于在所述车辆状态处理模块将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合时,对车辆连续上传的运行数据进行异常处理,用于在所述车辆充电状态处理模块依据确定的所述启动片段集合的充电状态和所述熄火片段集合的充电状态对所述启动片段集合的运行数据和所述熄火片段集合的运行数据进行片段分类时,对所述启动片段集合的运行数据和所述熄火片段集合的运行数据进行异常处理;所述异常处理包括:删除和修正。
优选地,所述异常值处理模块包括:
第一异常处理单元,用于执行第一处理逻辑;所述第一处理逻辑为:判断车辆连续上传的运行数据中的车辆状态是否为异常或无效,如果是,则直接删除车辆连续上传的运行数据;判断车辆连续上传的运行数据中的车辆状态是否处于除启动状态、熄火状态、异常状态和无效状态之外的状态时,根据车辆的速度、总电流、数据采集时间和行驶数据间的里程差判断车辆状态为启动状态还是熄火状态,或,判断车速是否为0且总电流是否小于等于0,若车速为0且总电流小于等于0则将车辆处于的当前状态修改为熄火状态,若车速不为0且总电流大于0则将车辆处于的当前状态修改为启动状态;
第二异常处理单元,用于执行第二处理逻辑;所述第二处理逻辑为:判断所述启动片段集合的运行数据的充电状态或所述熄火片段集合的运行数据的充电状态是否为异常或无效,如果是,则直接删除所述启动片段集合的运行数据或所述熄火片段集合的运行数据;当所述熄火片段集合的运行数据中的充电状态为未充电或充电完成,则根据速度、总电流和SOC判断所述熄火片段集合的运行数据是否为熄火状态+停车充电片段;若所述启动片段集合的运行数据中的充电状态为未充电或充电完成,则不作处理。
优选地,所述车辆状态处理模块包括:
第一遍历单元,用于遍历所述车辆连续上传的运行数据中的车辆状态字段,当遍历到的当前信息帧的车辆状态为1且与所述当前信息帧时序相接的下一信息帧的车辆状态为2时,记所述当前信息帧为启动帧,记所述与所述当前信息帧时序相接的下一信息帧为熄火帧,并将所述启动帧记为条件开始,将所述熄火帧记为片段开始;遍历片段开始之后的数据,如果车辆状态为2则继续遍历,直到车辆状态为1,则将车辆状态为1的信息帧记为条件结束,将所述车辆状态为1的信息帧的前一帧数据记为片段结束;
片段划分单元,与所述第一遍历单元连接,用于依据所述条件开始、所述片段开始、所述条件结束和所述片段结束将车辆连续上传的运行数据划分为所述启动片段集合和所述熄火片段集合。
优选地,还包括:
数据有效性检测模块,与所述故障状态处理模块连接,用于根据车速、总电流和SOC对所述第二片段分类结果中的运行数据的车辆状态和充电状态进行检测与判断,并在每种判断结果中添加数据有效性检测结果字段;
其中,当检测到充电状态为未充电,且连续多条运行数据中的总电流为负值,SOC有增加,则添加的数据有效性检测结果字段为充电状态有误;
如果车辆状态为熄火,但是连续多条信息车速不为0,总电流不为0,并且SOC有降低,则添加的数据有效性检测结果字段为车辆状态有误;
如果在第一片段分类结果中,条件开始与片段开始间的里程差大于设定公里数,则添加的数据有效性检测结果字段为数据丢失;
如果在第一片段分类结果中,条件结束与片段结束间的里程差大于设定公里数,则添加的数据有效性检测结果字段为数据丢失。
优选地,所述车辆充电状态处理模块包括:
第二遍历单元,用于遍历熄火片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与所述第一个充电状态为1的信息帧时序相连的上一条充电状态不等于1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与所述最后一个充电状态为1的信息帧时序相连的下一条充电状态不等于1的信息帧记为条件充电结束;
第一充电状态确定单元,与所述第二遍历单元连接,用于在所述第二遍历单元遍历所述熄火片段集合后,判断所述熄火片段集合是否存在充电过程数据,若存在则标记充电状态为停车充电,若不存在,则标记充电状态为未充电;
第三遍历单元,用于遍历所述启动片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与该第一个充电状态为1的信息帧时序相连的上一条充电状态不为1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与所述最后一个充电状态为1的信息帧时序相连的下一条充电状态不为1的信息帧记为条件充电结束;
第二充电状态确定单元,与所述第三遍历单元连接,用于在所述第三遍历单元遍历所述启动片段集合后,判断所述启动片段集合是否存在充电过程数据,若存在则标记充电状态为启动充电,若不存在,则标记充电状态为未充电;
第四遍历单元,用于遍历所述启动片段集合中的充电状态字段,将得到的第一个充电状态为2的信息帧记为片段充电开始,将与所述第一个充电状态为2的信息帧时序相连的上一条充电状态不为2的信息帧作为条件充电开始,继续遍历,将得到的最后一个充电状态为2的信息帧作为片段充电结束,将与所述最后一个充电状态为2的信息帧时序相连的下一条充电状态不为2的信息帧作为条件充电结束;
第三充电状态确定单元,与所述第四遍历单元连接,用于在所述第四遍历单元遍历所述启动片段集合后,判断所述启动片段集合是否存在充电过程数据,若存在则标记充电状态为行驶充电,若不存在,则标记充电状态为未充电。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的车联网大数据预处理系统,采用车辆状态处理模块将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合,采用车辆充电状态处理模块确定启动片段集合的充电状态和熄火片段集合的充电状态,并依据确定的启动片段集合的充电状态和熄火片段集合的充电状态对启动片段集合的运行数据和熄火片段集合的运行数据进行片段分类,得到第一片段分类结果,采用故障状态处理模块判断第一状态分类结果是否存在故障,当存在故障时还用于对所存在的故障进行片段分类,得到第二片段分类结果。即本发明首先按照国标车辆状态、充电状态、故障状态进行片段划分,并可以进一步将片段划分结果与整车、电池、电机等重要过程数据形成数据列表,以在能够满足多种智能网联复杂应用场景的同时,提高数据处理效率。
此外,对应于上述提供的车联网大数据预处理系统,本发明还提供了如下技术方案:
一种车联网大数据预处理装置,包括上述车联网大数据预处理系统。
一种车联网大数据预处理方法,包括:
获取车辆连续上传的运行数据;
将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合;所述运行数据包括:车辆状态数据、电池状态数据、电机状态数据、电控状态数据和发动机状态数据;
确定所述启动片段集合的充电状态和所述熄火片段集合的充电状态,并依据确定的所述启动片段集合的充电状态和所述熄火片段集合的充电状态对所述启动片段集合的运行数据和所述熄火片段集合的运行数据进行片段分类,得到第一片段分类结果;所述第一片段分类结果包括:启动状态+停车充电片段、启动状态+行驶充电片段、启动状态+未充电片段、熄火状态+停车充电片段和熄火片段+未充电片段;
判断所述第一状态分类结果是否存在故障,当存在故障时对所存在的故障进行片段分类,得到第二片段分类结果;所述第二片段分类结果包括:启动状态+停车充电+无故障片段、启动状态+停车充电+有故障片段、启动状态+行驶充电+无故障片段、启动状态+行驶充电+有故障片段、启动状态+未充电+无故障片段、启动状态+未充电+有故障片段、熄火状态+停车充电+无故障片段、熄火状态+停车充电+有故障片段、熄火片段+未充电+无故障片段和熄火片段+未充电+有故障片段。
优选地,所述将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合,具体包括:
遍历所述车辆连续上传的运行数据中的车辆状态字段,当遍历到的当前信息帧的车辆状态为1且与所述当前信息帧时序相接的下一信息帧的车辆状态为2时,记所述当前信息帧为启动帧,记所述与所述当前信息帧时序相接的下一信息帧为熄火帧,并将所述启动帧记为条件开始,将所述熄火帧记为片段开始;遍历片段开始之后的数据,如果车辆状态为2则继续遍历,直到车辆状态为1,则将车辆状态为1的信息帧记为条件结束,将所述车辆状态为1的信息帧的前一帧数据记为片段结束;
依据所述条件开始、所述片段开始、所述条件结束和所述片段结束将车辆连续上传的运行数据划分为所述启动片段集合和所述熄火片段集合。
优选地,所述确定所述启动片段集合的充电状态和所述熄火片段集合的充电状态,并依据确定的所述启动片段集合的充电状态和所述熄火片段集合的充电状态对所述启动片段集合的运行数据和所述熄火片段集合的运行数据进行片段分类,得到第一片段分类结果,具体包括:
遍历熄火片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与所述第一个充电状态为1的信息帧时序相连的上一条充电状态不等于1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与所述最后一个充电状态为1的信息帧时序相连的下一条充电状态不等于1的信息帧记为条件充电结束;
在遍历所述熄火片段集合后,判断所述熄火片段集合是否存在充电过程数据,若存在则标记充电状态为停车充电,若不存在,则标记充电状态为未充电;
遍历所述启动片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与该第一个充电状态为1的信息帧时序相连的上一条充电状态不为1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与所述最后一个充电状态为1的信息帧时序相连的下一条充电状态不为1的信息帧记为条件充电结束;
在遍历所述启动片段集合后,判断所述启动片段集合是否存在充电过程数据,若存在则标记充电状态为启动充电,若不存在,则标记充电状态为未充电;
遍历所述启动片段集合中的充电状态字段,将得到的第一个充电状态为2的信息帧记为片段充电开始,将与所述第一个充电状态为2的信息帧时序相连的上一条充电状态不为2的信息帧作为条件充电开始,继续遍历,将得到的最后一个充电状态为2的信息帧作为片段充电结束,将与所述最后一个充电状态为2的信息帧时序相连的下一条充电状态不为2的信息帧作为条件充电结束;
在遍历所述启动片段集合后,判断所述启动片段集合是否存在充电过程数据,若存在则标记充电状态为行驶充电,若不存在,则标记充电状态为未充电。
因本发明提供的车联网大数据预处理装置和方法所达到的技术效果与上述提供的车联网大数据预处理系统所达到的技术效果相同,故在此不再进行赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的车联网大数据预处理系统的处理流程图;
图2为本发明实施例提供的车联网车辆运行数据样例图;
图3为本发明实施例提供的熄火片段与启动片段划分示意图;
图4为本发明实施例提供的车辆状态异常值示意图;
图5为本发明实施例提供的熄火数据片段集合中的停车充电示意图;
图6为本发明实施例提供的启动数据片段集合中的停车充电示意图;
图7为本发明实施例提供的启动数据片段集合中的行驶充电示意图;
图8为本发明提供的车联网大数据预处理装置的框架图;
图9为本发明提供的车联网大数据预处理方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种车联网大数据预处理系统、装置和方法,以能够在满足多种智能车联网复杂应用场景的同时,提高数据处理效率。
专业术语解释:
SOC:电池剩荷电状态。
基础数据:车辆按照国标每隔30s实时上传的连续数据,数据量在P级。
片段数据:基础数据经过切分、提取、重组等预处理操作后的片段数据,数据量在T级。
国标GBT32960中的车辆状态分为:1启动状态;2熄火状态;3其他状态;FE异常状态;FF无效状态。
国标GBT32960中的充电状态分为:1停车充电;2行驶充电;3未充电;4充电完成;FE异常状态;FF无效状态。
国标GBT32960中的最高报警等级:0无故障;1一级故障;2二级故障;3三级故障;FE异常状态;FF无效状态。
时序相接定义:2个信息帧时序相连,且中间没有其他信息帧。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
基于如图1所示的车联网大数据预处理系统的处理流程图,本发明提供的车联网大数据预处理系统,包括:车辆状态处理模块131、车辆充电状态处理模块132和故障状态处理模块133。
其中,车辆状态处理模块131用于将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合。运行数据包括:车辆状态数据、电池状态数据、电机状态数据、电控状态数据和发动机状态数据。
在实际运行过程中,上述车辆状态处理模块131的输入为:满足国标GBT32960要求上传的连续流式数据,如图2所示,选取其中的车辆状态字段进行处理。在具体处理过程中,涉及到的片段划分逻辑为:如果车辆上传数据的车辆状态只有启动(即车辆状态=1)和熄火(即车辆状态=2),则直接进行如下片段处理:
如图3中的(a)部分所示为某个熄火片段的划分,在连续的数据序列中,遍历车辆状态字段,找到一个启动帧(车辆状态=1),并且与之时序相接下一帧必须为熄火帧(车辆状态=2),则这个启动帧(车辆状态=1)为条件开始,时序相接的下一条熄火帧(车辆状态=2)为片段开始。继续遍历,遇到下一个启动帧(车辆状态=1)时,作为条件结束,则条件结束前一帧为片段结束。如图3中(b)部分所示为某个启动片段的划分,在数据序列中,找到一个熄火帧(车辆状态=2),并且与之时序相接下一帧必须为启动帧(车辆状态=1)。则如图3中(b)部分所示,这个熄火帧(车辆状态=2)为条件开始,时序相接的下一条启动帧(车辆状态=1)为片段开始。继续读取,遇到下一个熄火帧(车辆状态=2)时,作为条件结束。
片段设置条件开始、片段开始、片段结束、条件结束4个时刻点。一方面可以根据4个点来提取片段首尾的车辆、电池、电机、电控、发动机等数据。另一方面可以根据这4个点数据来判断整个片段的数据有效性。
为了实现上述片段划分的具体逻辑,本发明提供的车辆状态处理模块131进一步包括:第一遍历单元和与之相连的片段划分单元。
第一遍历单元用于遍历车辆连续上传的运行数据中的车辆状态字段,当遍历到的当前信息帧的车辆状态为1且与当前信息帧时序相接的下一信息帧的车辆状态为2时,记当前信息帧为启动帧,记与当前信息帧时序相接的下一信息帧为熄火帧,并将启动帧记为条件开始,将熄火帧记为片段开始。遍历片段开始之后的数据,如果车辆状态为2则继续遍历,直到车辆状态为1,则将车辆状态为1的信息帧记为条件结束,将车辆状态为1的信息帧的前一帧数据记为片段结束。
片段划分单元用于依据条件开始、片段开始、条件结束和片段结束将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合。
基于上述车辆状态处理模块131的具体处理逻辑和结构,其能够精确将大量连续的车辆运行数据划分为启动状态片段与熄火状态片段两大类数据集合。
车辆充电状态处理模块132与车辆状态处理模块131连接,车辆充电状态处理模块132用于确定启动片段集合的充电状态和熄火片段集合的充电状态,并依据确定的启动片段集合的充电状态和熄火片段集合的充电状态对启动片段集合的运行数据和熄火片段集合的运行数据进行片段分类,得到第一片段分类结果。第一片段分类结果包括:启动状态+停车充电片段、启动状态+行驶充电片段、启动状态+未充电片段、熄火状态+停车充电片段和熄火片段+未充电片段。
即根据车辆充电状态来区分该段数据是停车充电、行驶充电还是未充电状态。并且针对车辆充电状态为其他或异常情况,做逻辑判断处理。如果充电状态异常或无效,由于该种状态占比极小,直接删除并不会影响后期业务开展,所以采取直接丢弃。如果车辆辆状态为停车且处于未充电状态,则需要根据速度、总电流和时间来判断其是否需要修正为停车充电(充电状态=1)。如果车辆处于停车且充电完成,则需要根据速度、总电流和时间来判断其是否需要修正为停车充电(充电状态=1)。如果车辆状态为行车则不对未充电状态和充电完成状态进行处理。
为了对启动片段和熄火片段数据集合进行充电状态的判断并分类,车辆充电状态处理模块132进行充电状态的处理过程优选为:
如图5所示,遍历熄火片段数据集合中的充电状态字段,找到第一个充电状态=1的信息帧为片段充电开始,时序相连上一条充电状态不等于1的为条件充电开始帧。在熄火片段集合内最后一个充电状态=1的信息帧为片段充电结束,时序相连下一条充电状态不等于1的为条件充电结束。遍历结束后,如果发现有充电过程,则标记为停车充电。如果整个片段没有充电过程,则标记为未充电。
如图6所示,遍历启动片段数据集合中的充电状态字段,第一个充电状态=1的信息帧为片段充电开始,时序相连上一条充电状态不等于1的为条件充电开始帧。在启动片段集合内最后一个充电状态=1的信息帧为片段充电结束,时序相连下一条充电状态不等于1的为条件充电结束。遍历结束后,如果发现有充电过程,则标记为停车充电。如果整个片段没有充电过程,则标记为未充电。
如图7所示,遍历启动片段数据集合中的充电状态字段,第一个充电状态=2的信息帧为片段充电开始,时序相连上一条充电状态不等于2的为条件充电开始帧。在启动片段集合内最后一个充电状态=2的信息帧为片段充电结束,时序相连下一条充电状态不等于2的为条件充电结束。遍历结束后,如果发现有充电过程,则标记为行驶充电。如果整个片段没有充电过程,则标记为未充电。
为了实现上述处理逻辑,本发明提供的车辆充电状态处理模块132优选包括:第二遍历单元、第一充电状态确定单元、第三遍历单元、第二充电状态确定单元、第四遍历单元和第三充电状态确定单元。
其中,第二遍历单元用于遍历熄火片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与第一个充电状态为1的信息帧时序相连的上一条充电状态不等于1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与最后一个充电状态为1的信息帧时序相连的下一条充电状态不等于1的信息帧记为条件充电结束。
第一充电状态确定单元与第二遍历单元连接,其主要用于在第二遍历单元遍历熄火片段集合后,判断熄火片段集合是否存在充电过程数据,若存在则标记充电状态为停车充电,若不存在,则标记充电状态为未充电。
第三遍历单元用于遍历启动片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与该第一个充电状态为1的信息帧时序相连的上一条充电状态不为1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与最后一个充电状态为1的信息帧时序相连的下一条充电状态不为1的信息帧记为条件充电结束。
第二充电状态确定单元与第三遍历单元连接,其主要用于在第三遍历单元遍历启动片段集合后,判断启动片段集合是否存在充电过程数据,若存在则标记充电状态为启动充电,若不存在,则标记充电状态为未充电。
第四遍历单元用于遍历启动片段集合中的充电状态字段,将得到的第一个充电状态为2的信息帧记为片段充电开始,将与第一个充电状态为2的信息帧时序相连的上一条充电状态不为2的信息帧作为条件充电开始,继续遍历,将得到的最后一个充电状态为2的信息帧作为片段充电结束,将与最后一个充电状态为2的信息帧时序相连的下一条充电状态不为2的信息帧作为条件充电结束。
第三充电状态确定单元与第四遍历单元连接,其主要用于在第四遍历单元遍历启动片段集合后,判断启动片段集合是否存在充电过程数据,若存在则标记充电状态为行驶充电,若不存在,则标记充电状态为未充电。
基于本发明上述提供的车辆充电状态处理模块132的具体处理逻辑和结构,可以将车辆状态处理模块131划分的启动片段集合和熄火片段集合中的充电状态精确划分得到第一片段分类结果。
故障状态处理模块133与车辆充电状态处理模块132连接,故障状态处理模块133用于判断第一状态分类结果是否存在故障,当存在故障时还用于对所存在的故障进行片段分类,得到第二片段分类结果。第二片段分类结果包括:启动状态+停车充电+无故障片段、启动状态+停车充电+有故障片段、启动状态+行驶充电+无故障片段、启动状态+行驶充电+有故障片段、启动状态+未充电+无故障片段、启动状态+未充电+有故障片段、熄火状态+停车充电+无故障片段、熄火状态+停车充电+有故障片段、熄火片段+未充电+无故障片段和熄火片段+未充电+有故障片段。
故障报警处理模块主要是按照车辆上传运行数据中的最高报警等级字段,对输入的第一状态分类结果的数据片段进行分类。如果整个片段都没有故障则为无故障片段,如果整个片段至少出现了一个故障报警信息,则为有故障片段。即故障报警处理模块根据车辆最高报警等级,包含0~3四种状态,分别为无故障、1级故障、2级故障、3级故障,对已经完成分类的数据片段进行报警等级的标识。
并且,在进行故障片段分类得到第二片段分类结果结果后,本发明还需要提取如图2所示的条件开始、片段开始、片段结束、条件结束4个时刻点的时间戳、片段数据条目、SOC、里程、总电压、总电流、单体电压、单体极值电压、温度、车速、制动与驱动状态、电机、发动机等数据。另外还需要提取整个片段内的总电压、总电流、单体电压、单体极值电压、温度、车速、温差、单体电压差等信息的最大与最小值等字段,生成新的数据集。为实现这一目的,可以设置一个数据提取模块,以与故障报警处理模块连接。
为了方便支撑广泛的业务应用场景,基于上述车辆状态处理模块131、车辆充电状态处理模块132和故障状态处理模块133处理后的数据可能存在由于里程、电压、电流、车速等字段异常造成的问题数据,可能会对后期业务产生不利影响,基于此,为了对每个片段的数据有效性进行检测,本发明提供的车联网大数据预处理系统还包括有数据有效性检测模块134。
该数据有效性检测模块134与故障状态处理模块133连接,其主要用于根据车速、总电流和SOC对第二片段分类结果中的运行数据的车辆状态和充电状态进行检测与判断,并在每种判断结果中添加数据有效性检测结果字段。添加数据有效性检测结果字段主要是起到标识作用,其主要是通过车速、总电流、SOC等对车辆状态和充电状态进行检测与判断。通过对条件开始、片段开始、片段结束、条件结束4个时刻的表显里程、时间间隔和SOC值可以判断整个片段是否存在数据丢失、数据不全、数据错误,从而进行数据片段的有效性检测。
其中,当检测到充电状态为未充电,且连续多条运行数据中的总电流为负值(表示充电),SOC有增加,则添加的数据有效性检测结果字段为充电状态有误。
如果车辆状态为熄火,但是连续多条信息车速不为0,总电流不为0,并且SOC有降低,则添加的数据有效性检测结果字段为车辆状态有误。
进一步,通过条件开始、片段开始、片段结束、条件结束四个时刻点对应的里程与SOC,对整个片段的数据丢失进行检测,并在前述增加的标识字段做标记。具体的,
如果在第一片段分类结果中,条件开始与片段开始间的里程差大于设定公里数,则添加的数据有效性检测结果字段为数据丢失。
如果在第一片段分类结果中,条件结束与片段结束间的里程差大于设定公里数,则添加的数据有效性检测结果字段为数据丢失。
在本发明中设定公里数优选为2公里,但不限于此。则采用2公里为误差进行数据标识的过程为:
如果在任何一种类型的片段中,条件开始与片段开始存在超过2公里的里程差,即可认为有部分数据存在丢失,并在增加的字段标识数据丢失。
如果在任何一种类型的片段中,条件结束与片段结束的里程差超过2公里,则可认为有部分数据丢失,并在增加的字段标识数据丢失。
由于车辆状态除了正常的启动和熄火状态,还可能会出现如图4所示的其他状态(车辆状态=3)、异常状态(车辆状态=FE)和无效状态(车辆状态=FF)。所以,需要对过程中出现上述3种状态的信息帧进行异常判断。并且,由于车辆的充电状态除了正常的停车充电和行驶充电外,按照国标规定数据还可能会出现如图6所示的未充电状态(充电状态=3)、充电完成(充电状态=4)、异常状态(充电状态=FE)和无效状态(充电状态=FF)。因此,为了对运行数据中的异常值进行处理,本发明提供的车联网大数据预处理系统还优选包括异常值处理模块。
异常值处理模块分别与车辆状态处理模块131、车辆充电状态处理模块132和故障状态处理模块133连接,异常值处理模块主要用于在车辆状态处理模块131将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合时,对车辆连续上传的运行数据进行异常处理,用于在车辆充电状态处理模块132依据确定的启动片段集合的充电状态和熄火片段集合的充电状态对启动片段集合的运行数据和熄火片段集合的运行数据进行片段分类时,对启动片段集合的运行数据和熄火片段集合的运行数据进行异常处理。异常处理包括:删除和修正。
进一步,本发明提供的异常值处理模块包括:第一异常处理单元和第二异常处理单元。
其中,第一异常处理单元用于执行第一处理逻辑。第一处理逻辑为:判断车辆连续上传的运行数据中的车辆状态是否为异常或无效,如果是,则直接删除车辆连续上传的运行数据。判断车辆连续上传的运行数据中的车辆状态是否处于除启动状态、熄火状态、异常状态和无效状态之外的状态(即其他状态,车辆状态=3)时,根据车辆的速度、总电流、数据采集时间和行驶数据间的里程差判断车辆状态为启动状态还是熄火状态,或,判断车速是否为0且总电流是否小于等于0,若车速为0且总电流小于等于0则将车辆处于的当前状态修改为熄火状态,若车速不为0且总电流大于0则将车辆处于的当前状态修改为启动状态。
第一异常处理单元主要是针对车辆状态处理模块131在进行车辆状态处理过程中的异常值进行的设计。在判断得到车辆状态为异常或无效,由于异常或无效状态占比极小,所以本发明采用直接删除的策略进行处理。
第二异常处理单元用于执行第二处理逻辑。第二处理逻辑为:判断启动片段集合的运行数据的充电状态或熄火片段集合的运行数据的充电状态是否为异常或无效,如果是,则直接删除启动片段集合的运行数据或熄火片段集合的运行数据。当熄火片段集合的运行数据中的充电状态为未充电或充电完成,则根据速度、总电流和SOC判断熄火片段集合的运行数据是否为熄火状态+停车充电片段。若启动片段集合的运行数据中的充电状态为未充电或充电完成,则不作处理。
即如果充电状态为异常或无效则直接删除。
如果车辆状态为熄火,且充电状态为未充电或充电完成,则需要根据速度、总电流和SOC来判断其是否需要修正为停车充电(充电状态=1)。如果车辆状态为启动,且充电状态为未充电或充电完成,则不处理。
一种可选的判断逻辑为:如果车辆状态为熄火且处于未充电状态,但是在连续多条信息车辆速度为0、总电流为负、SOC有增加,则将其修正为停车充电(充电状态=1)。
另一种可选的判断逻辑为:如果车辆状态为熄火且处于充电完成状态,但是在连续多条信息车辆速度为0、总电流为负、SOC有增加,则将其修正为停车充电(充电状态=1)。
第二异常处理单元主要是针对车辆充电状态处理模块132在进行数据处理过程中存在的异常值进行的设置。由于充电状态为异常或无效状态占比极小,直接删除并不会影响后期业务开展,所以采取直接删除的策略。
基于本发明提供的这一异常值处理模块,可以将整个数据处理过程中的异常值进行精确处理,进而能够保证数据处理过程的整体效率。
此外,对应于上述提供的车联网大数据预处理系统,本发明还提供了如下两种技术方案:
其中,一种为车联网大数据预处理装置,如图8所示,该车联网大数据预处理装置包括大数据平台12和本发明提供的车联网大数据预处理系统13。
智能网联汽车11中的数据采集模块112通过传感器111与内部总线采集采集包括车辆状态、电池状态、电机状态、电控状态、发动机状态等零部件的数据。然后通过数据发送模块113发送到大数据平台12。
大数据平台12包括数据接收模块121、数据存储模块122和数据提取模块123。数据接收模块121接收模块发送的数据,并传给数据存储模块122,进行分布式存储。当需要使用数据的时候,通过提取数据,发送到数据预处理系统。
数据预处理系统输入提取的数据后,开始按照车辆状态处理模块131、充电状态处理模块132、故障状态处理模块133对数据依次进行处理,最后通过里程、时间、SOC等条件进行数据有效性检测模块134对该片段进行数据有效性的判断。
经过数据预处理系统处理后的数据最终经过保存后形成处理后的数据库14。
对于车辆通过设备采集、发送到云端大数据平台12的包括车辆、电池、电机、发动机、电控等连续状态数据,按照国标字段中的车辆状态、充电状态、故障状态,处理为启动状态+停车充电+无故障片段、启动状态+停车充电+有故障片段、启动状态+行驶充电+无故障片段、启动状态+行驶充电+有故障片段、启动状态+未充电+无故障片段、启动状态+未充电+有故障片段、熄火状态+停车充电+无故障片段、熄火状态+停车充电+有故障片段、熄火片段+未充电+无故障片段、熄火片段+未充电+有故障片段。针对这10种状态,需要再根据车速、总电流、SOC、里程、时间间隔等判断数据片段的有效性以及是否存在数据丢失等情况。
另一种为车联网大数据预处理方法,如图9所示,该车联网大数据预处理方法包括:
步骤900:获取车辆连续上传的运行数据。
步骤901:将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合。运行数据包括:车辆状态数据、电池状态数据、电机状态数据、电控状态数据和发动机状态数据。
步骤902:确定启动片段集合的充电状态和熄火片段集合的充电状态,并依据确定的启动片段集合的充电状态和熄火片段集合的充电状态对启动片段集合的运行数据和熄火片段集合的运行数据进行片段分类,得到第一片段分类结果。第一片段分类结果包括:启动状态+停车充电片段、启动状态+行驶充电片段、启动状态+未充电片段、熄火状态+停车充电片段和熄火片段+未充电片段。
步骤903:判断第一状态分类结果是否存在故障,当存在故障时对所存在的故障进行片段分类,得到第二片段分类结果。第二片段分类结果包括:启动状态+停车充电+无故障片段、启动状态+停车充电+有故障片段、启动状态+行驶充电+无故障片段、启动状态+行驶充电+有故障片段、启动状态+未充电+无故障片段、启动状态+未充电+有故障片段、熄火状态+停车充电+无故障片段、熄火状态+停车充电+有故障片段、熄火片段+未充电+无故障片段和熄火片段+未充电+有故障片段。
其中,上述步骤901具体包括:
遍历车辆连续上传的运行数据中的车辆状态字段,当遍历到的当前信息帧的车辆状态为1且与当前信息帧时序相接的下一信息帧的车辆状态为2时,记当前信息帧为启动帧,记与当前信息帧时序相接的下一信息帧为熄火帧,并将启动帧记为条件开始,将熄火帧记为片段开始。遍历片段开始之后的数据,如果车辆状态为2则继续遍历,直到车辆状态为1,则将车辆状态为1的信息帧记为条件结束,将车辆状态为1的信息帧的前一帧数据记为片段结束。
依据条件开始、片段开始、条件结束和片段结束将车辆连续上传的运行数据划分为启动片段集合和熄火片段集合。
上述步骤902具体包括:
遍历熄火片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与第一个充电状态为1的信息帧时序相连的上一条充电状态不等于1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与最后一个充电状态为1的信息帧时序相连的下一条充电状态不等于1的信息帧记为条件充电结束。
在遍历熄火片段集合后,判断熄火片段集合是否存在充电过程数据,若存在则标记充电状态为停车充电,若不存在,则标记充电状态为未充电。
遍历启动片段集合中的充电状态字段,将得到的第一个充电状态为1的信息帧记为片段充电开始,将与该第一个充电状态为1的信息帧时序相连的上一条充电状态不为1的信息帧记为条件充电开始,继续遍历,将得到的最后一个充电状态为1的信息帧记为片段充电结束,将与最后一个充电状态为1的信息帧时序相连的下一条充电状态不为1的信息帧记为条件充电结束。
在遍历启动片段集合后,判断启动片段集合是否存在充电过程数据,若存在则标记充电状态为启动充电,若不存在,则标记充电状态为未充电。
遍历启动片段集合中的充电状态字段,将得到的第一个充电状态为2的信息帧记为片段充电开始,将与第一个充电状态为2的信息帧时序相连的上一条充电状态不为2的信息帧作为条件充电开始,继续遍历,将得到的最后一个充电状态为2的信息帧作为片段充电结束,将与最后一个充电状态为2的信息帧时序相连的下一条充电状态不为2的信息帧作为条件充电结束。
在遍历启动片段集合后,判断启动片段集合是否存在充电过程数据,若存在则标记充电状态为行驶充电,若不存在,则标记充电状态为未充电。
综上,本发明提供的技术方案在能够在新能源汽车行业智能网联复杂应用场景下,解决现有技术中存在的由于车辆运行基础数据存储量大、计算内存消耗重、运算耗时长带来的预处理技术门槛高、应用效率低等问题。并且,本发明为了解决现有预处理技术业务应用场景单一的问题,进行如下设置:首先按照国标车辆状态、充电状态、故障状态进行片段划分,其次设置片段的条件开始、片段开始、片段结束、条件结束,最后按照已划分好的片段提取条件开始、片段开始、片段结束、条件结束时刻点数据与整车、电池、电机等重要过程数据形成数据列表。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种车联网大数据预处理系统、装置和方法
- 一种车联网大数据高性能压缩存储方法及系统