利索能及
我要发布
收藏
专利号: 202410678115X
申请人: 秦友权
专利类型:发明专利
专利状态:授权未缴费
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.汽车远程检测与故障诊断数据智能处理系统,其特征在于,从数据解析、数据装载和数据存储三个方面,分析提供汽车远程数据处理解决方案,首先,根据汽车远程诊断系统构建车载故障诊断相关协议、CAN总线编码格式和浮点数运算标准,基于不同类型车载数据特征,设计不同信号解析方案,优化缓存提高解析速度;其次,数据处理系统建立实时监测方案,自动监测车载设备传送的新文件并分为单帧和多帧解析诊断数据,构建定位导航消息解析方法,提出提升数据解析效率的两种解决方案;然后,采用分布式数据库对数据进行存储,建立数据自适应整合入库方法,满足车载数据高效装载入库,不同类型数据采用不同方案,实时数据利用外部表并发快速入库,非实时数据采用批量导入减少I0操作;最后,提出优化数据智能查询效率的二种改进方案,包括基于分区表的优化方法和基于标记字段的优化方法;

1)数据解析:定义ASC文件、DBC‑c文件、Report‑c文件解析规则,并提出演化计算不同信号类型的解析方法,检测数据解析方案包括车载设备源数据和数据处理系统解析规则,诊断数据解析根据不同解析规则,将初始ASC文件中的消息分为三类:诊断消息、定位导航消息和其它汽车消息,并建立对应消息的解析流程;

2)数据装载:基于不同数据类型所具有的特征,构建适合不同数据类型的数据加载方式,实时数据设计外部表方式,利用中间临时文件将数据一次性并行导入数据库中,通过外部表并发读取数据;非实时数据是除实时数据外的其他数据,包括解析采用的解析规则、车辆设备中各功能相关数据;

3)数据存储:基于数据库Greenplum的整体架构,搭建分布式集群环境,根据汽车远程诊断系统整体建立E‑R模型,构建系统模块相关数据库系统;采用索引、分布、分区方法以及标记字段方法提高查询速度和系统安全性;

诊断数据解析方法:

第一步:当获取一个ASC文件后,首先抽取文件的基本信息,包括:文件名、文件中消息条数、文件对应的汽车的VIN,存储这些信息,然后遍历文件中每一条消息;

第二步:按照定义的各属性对行数据进行分割,存储解析前的消息数据,存储未解析数据为数据条件查询还原初始文件做准备,记录该条消息的消息标识;

第三步:如果是诊断消息,用Report‑c文件对其解析存储,否则执行第二步;

第四步:如果是定位导航,用IEEE 754标准对其解析存储,否则执行第五步;

第五步:如果是其它汽车信号,用DBC‑c文件对其解析存储。

2.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,定义Report‑c文件:基于汽车电子控制单元状态信息、故障码信息的解析规则定义Report‑c文件,Report‑c文件基于CDD数据库创建,由汽车类型和电子控制单元共同决定,即一种车型的一个电子控制单元对应一个Report‑c文件,每个Report‑c文件中都有唯一标识,这个标识由两个诊断标识组成:诊断请求标识和诊断响应标识;

电子控制单元状态信息的格式依次定义如下:

1)字节:电子控制单元的状态信息在该消息中的起始字节数,如果不是从第0位开始,还应该标出起始字节的起始比特位;

2)字节描述:电子控制单元的状态描述;

3)默认值:首帧中,第2个字节表示多帧字节长度,第3至5个字节指明该条信息代表的电子控制单元状态和操作;

4)大小:电子控制单元状态不同属性的字节数;

5)转义类型/转义名称/转义标识:指示通过字节得到的值应该转换成的形式;

故障码信息的格式依次定义如下:

故障码:故障码标识,同于电子控制单元状态信息中的默认值,为诊断标识;

描述:对该故障码的描述;

环境数据/快照数据:分别是故障码的不同信息,是单独的文件,格式与电子控制单元状态信息格式相同,故障码中的这两个属性值分别指向对应文件的链接;

Report‑c文件包括四种类型的子文件:ECU状态信息、故障码信息、环境数据和快照数据,其中环境数据和快照数据是故障码信息的子文件,解释更详细的内容。

3.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,诊断消息解析流程:(1)单帧

单帧信息全包含在一个CAN帧中,收到消息时,直接对该帧进行拆分解析处理,单帧解析具体流程包括:第1步:对消息进行分割得到时间戳、通道号、消息标识、数据长度和数据属性;

第2步:数据的单位是字节,判断数据字节数是否于数据长度,如果不相等,说明该帧出错,丢弃该帧,否则执行第3步;

第3步:在容器DiagID中找到消息标识id,如果是诊断请求标识,执行第4步,如果是诊断响应标识,执行第5步;

第4步:将请求消息放至请求队列中,直至收到其响应消息;

第5步:首先移除请求队列中对应的请求消息,然后根据Report‑c文件解析诊断响应消息的数据部分;

在传输过程中,由于延时或其它原因,请求帧和响应帧并不是成对出现,所以定义一个请求队列,存放所有的请求消息,当某条请求消息收到响应消息后,即将该条请求移除,该系统中用诊断标识匹配请求与响应消息;

(2)多帧

多帧的特征是信息包含在不同CAN帧中,当收到这类消息时,不能直接处理,而是进行缓存,当所有CAN帧接收完毕后再进行拆分解析处理,多帧解析具体流程:步骤一:对消息进行分割得到时间戳、通道号、消息标识、数据长度和数据属性;

步骤二:根据网络协议控制信息类型判断是否为首帧,如果是首帧,截取多帧长度d和诊断标识,并将数据部分放至事先定义好的多帧数据容器List中,如果是连续帧,执行步骤三;

步骤三:根据连续帧编号,将连续帧中的数据按顺序存放至List中;

步骤四:如果List中存放数据的字节数于d,那么执行步骤五,否则继续接受消息执行步骤一;

步骤五:此时已接收完毕此次响应消息的所有帧,根据Report‑c文件解析诊断响应消息;

多帧传输时,接受到的连续帧是无序的,设置一个有序的容器,每当接收到一个连续帧时,按照连续帧的编号插入至容器中,直至接收到的有效数据长度等于首帧中的数据长度。

4.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,定位导航消息解析流程:消息由时间戳、通道号、消息标识、请求/响应、消息类型、数据长度和数据其他部分组成,其中根据通道号和消息标识确定一条消息是否属于定位导航消息,系统中通道号为9、消息标识范围为001至00A的消息属于定位导航消息;

定位导航数据解析具体流程为:

步骤1:对消息进行分割得到时间戳、通道号、消息标识、数据长度和数据属性;

步骤2:判断该消息是否为定位导航时间戳消息,如果是直接计算时间,如果不是,执行步骤3;

步骤3:根据IEEE 764标准计算定位导航的经纬度;

步骤4:如果一个定位导航信号已收集完整,那么存储该条定位导航信号,否则继续接受消息。

5.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,其它汽车消息解析流程:除诊断消息和定位导航消息外的其它消息解析流程:流程1:对消息进行分割得到时间戳、通道号、消息标识、数据长度和数据属性;

流程2:根据从ASC文件获取的汽车类型、该条消息的通道号找到对应的DBC文件file1,再根据消息标识确定file1中的解析规则,如果找不到,则表明此条消息错误,丢弃;如果找到解析规则,那么执行流程3;

流程3:根据解析规则解析该条消息,并且判断该消息是否标记,标记执行流程4,否则执行流程5;

流程4:根据时间戳,标记秒、分、时相应字段;

流程5:存储解析后的信号数据。

6.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,提升数据解析效率的解决方案:方案一,利用多线程提高计算速率:采用多线程编程方式,最大程度采用CPU资源,将一个ASC大文件拆分成任意小块的文件,同时对小文件进行处理,解析耗时最长的小文件时间即为最终解析时间,按照消息时间对大文件进行分割;

方案二,减少数据库访问频率:在数据解析过程中,用到的解析规则事先存储在数据库当中,每解析一条消息都与数据库建立连接然后查询对应的解析规则,一个ASC文件即为一辆车某个时间段的实时数据,解析规则来自不同通道对应的DBC‑c文件,对于一个已知车型,这些文件固定不变,解析过程中再从缓存查找对应的解析规则,采用cache高速缓存方式。

7.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,非实时数据入库:非实时数据是除实时数据外的其他数据,包括新增车辆、解析文件和功能文件;

1)新增车辆:当解析一个ASC文件之前,先验证该文件所属车辆,如果该车辆在系统中已经存在,那么直接解析数据;如果该车辆不存在,即在此之前系统中从未导入该车辆数据,那么在解析之前,将车辆新增入系统;新增车辆不仅是在VEHICLE表中添加一条数据,还新增存储该车对应MESSAGE和SIGNAL表;

2)解析文件:包括DBC文件和report文件,这些文件在解析之前全部加载至数据库,其中Report‑c文件在系统运行前已全部加载完毕,车辆远程诊断系统在文件管理模块中为用户提供上传DBC文件接口,加载解析文件时,为了提高加载效率,采用自定义分批次批量处理方案;

3)功能文件:包括功能外部连接文件和功能内部信号文件,该文件的导入方式与解析文件相同。

8.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,实时数据入库:以ASC文件的形式传送至数据处理系统,数据处理系统开启一个后台进程实时监测指定目录,一旦发现新传送来ASC文件立即解析,解析后的消息和信号数据及时导入数据库,供数据分析系统使用;

通过外部表的方式让所有segment并发地高速从gpfdist导入数据,包括:流程一:创建gpfdist,在Master服务器上创建外部表,并定义外部表的原数据来源,车辆远程诊断系统车载数据实时传送,系统运行前后台创建gpfdist;

流程二:数据结点连接到gpfdist获取从外部表导入的数据,如果gpfdist url的个数大于1,数据结点启动相同的并发到gpfdist获取数据;

流程三:gpfdist首先读取文件,然后拆分文件多块后分发给数据结点,数据查表进行重分布,每次数据加载完毕后会自动删除过程中创建的外部表;

流程四:读取数据和重分布同时进行;

实现外部导入数据:首先,将解析后的消息和信号文件地址和应该插入的物理表作为参数传入存储过程,执行过程中创建外部表,然后,通过外部表加载数据至物理表,最后,当所有数据插入物理表后,删除该外部表。

9.根据权利要求1所述汽车远程检测与故障诊断数据智能处理系统,其特征在于,基于分区表的优化方法:采用范围分区方式对实时数据表进行分区,选取信号时间作为分区依据,包括:

1)创建对应汽车实时数据主表,该表中不存储任何数据,同时,按照时间戳创建子表,采用动态创建子表方式,一分钟数据存储在一个子表当中;

2)为子表动态创建索引,采取的方案是创建分区后三分钟再创建索引,提高查询效率又不会因为重分布影响数据加载速度。